using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web;
using System.Web.Http;
using VueWebApi.DLL.BLL;
using VueWebApi.Models;
using VueWebApi.Tools;
namespace VueWebApi.Controllers
{
[RoutePrefix(prefix: "api/BasicSetting")]
[ControllerGroup("制造模型", "在线接口")]
public class ProductModelController : ApiController
{
//定义全局信息返回变量
ToMessage mes = new ToMessage();
RedisHelper redis = new RedisHelper();
#region[存货类型接口]
///
/// 存货类型接口
///
///
[Route(template: "StockTypeSelect")]
[HttpGet]
public HttpResponseMessage StockTypeSelect()
{
try
{
mes = ProductModelBLL.StockTypeSelect();
}
catch (Exception e)
{
mes.code = "300";
mes.Message = e.Message;
}
return TJson.toJson(mes);
}
#endregion
#region[物料类型查询]
///
/// 物料类型查询
///
/// 物料类型编码
/// 物料类型名称
/// 存货类型编码
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "MaterialTypeSearch")]
[HttpGet]
public HttpResponseMessage MaterialTypeSearch(string materialtypecode = null, string materialtypename = null, string stocktypecode = 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 = ProductModelBLL.MaterialTypeSearch(materialtypecode, materialtypename, stocktypecode, startNum, endNum, prop, order);
return TJson.toJson(mes);
}
#endregion
#region[物料类型新增编辑]
///
/// 物料类型新增编辑
///
/// 提交数据对象
///
[Route(template: "AddUpdateMaterialType")]
[HttpPost]
public HttpResponseMessage AddUpdateMaterialType([FromBody] JObject obj)
{
string materialtypeid = obj["id"].ToString(); //物料类型id(主键)
string materialtypecode = obj["materialtypecode"].ToString(); //物料类型编码
string materialtypename = obj["materialtypename"].ToString(); //物料类型名称
string stocktypecode = obj["stocktypecode"].ToString(); //存货类型编码
var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
string OperType = obj["OperType"].ToString(); //操作类型
mes = ProductModelBLL.AddUpdateMaterialType(materialtypeid,materialtypecode, materialtypename, stocktypecode, username, OperType);
return TJson.toJson(mes);
}
#endregion
#region[物料类型删除]
///
/// 物料类型删除
///
/// 物料类型编码
///
[Route(template: "DeleteMaterialType")]
[HttpPost]
public HttpResponseMessage DeleteMaterialType(string materialtypecode)
{
mes = ProductModelBLL.DeleteMaterialType(materialtypecode);
return TJson.toJson(mes);
}
#endregion
#region[单位列表查询]
///
/// 单位列表查询
///
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "UomSearch")]
[HttpGet]
public HttpResponseMessage UomSearch(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 = ProductModelBLL.UomSearch(startNum, endNum, prop, order);
return TJson.toJson(mes);
}
#endregion
#region[单位新增]
///
/// 单位新增
///
/// 单位提交数据
///
[Route(template: "UomAdd")]
[HttpPost]
public HttpResponseMessage UomAdd(List json)
{
var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
mes = ProductModelBLL.UomAdd(username,json);
return TJson.toJson(mes);
}
#endregion
#region[单位删除]
///
/// 单位删除
///
/// 单位编码
///
[Route(template: "UomDelete")]
[HttpPost]
public HttpResponseMessage UomDelete(string uomcode)
{
mes = ProductModelBLL.UomDelete(uomcode);
return TJson.toJson(mes);
}
#endregion
#region[存类型查找物料类型]
///
/// 存类型查找物料类型
///
/// 存货类型编码
///
[Route(template: "StockTypeSelectMaterialType")]
[HttpGet]
public HttpResponseMessage StockTypeSelectMaterialType(string stocktypecode)
{
try
{
mes = ProductModelBLL.StockTypeSelectMaterialType(stocktypecode);
}
catch (Exception e)
{
mes.code = "300";
mes.Message = e.Message;
}
return TJson.toJson(mes);
}
#endregion
#region[存货档案查询]
///
/// 存货档案查询
///
/// 物料编码
/// 物料名称
/// 物料规格
/// 存货类型编码
/// 物料类型编码
/// 所属仓库编码
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "InventoryFileSelect")]
[HttpGet]
public HttpResponseMessage InventoryFileSelect(string partcode = null, string partname = null,string partspec=null,string stocktypecode = null,string materialtypecode=null,string storehousecode=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 = ProductModelBLL.InventoryFileSelect(partcode, partname, partspec, stocktypecode, materialtypecode, storehousecode, startNum, endNum, prop, order);
return TJson.toJson(mes);
}
#endregion
#region[存货档案新增编辑]
///
/// 存货档案新增编辑
///
/// 提交数据对象
///
[Route(template: "AddUpdateInventoryFile")]
[HttpPost]
public HttpResponseMessage AddUpdateInventoryFile([FromBody] JObject obj)
{
string materialid = obj["id"].ToString(); //物料id(主键)
string materialcode = obj["materialcode"].ToString(); //物料编码
string materialname = obj["materialname"].ToString(); //物料名称
string materialspec = obj["materialspec"].ToString(); //物料规格
string uomcode = obj["uomcode"].ToString(); //单位编码
string warehousecode = obj["warehousecode"].ToString(); //所属仓库编码
string stocktypecode = obj["stocktypecode"].ToString(); //存货类型编码
string materialtypecode = obj["materialtypecode"].ToString(); //物料类型编码
string minstockqty = obj["minstockqty"].ToString(); //最小库存
string maxstockqty = obj["maxstockqty"].ToString(); //最大库存
var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
string OperType = obj["OperType"].ToString(); //操作类型
mes = ProductModelBLL.AddUpdateInventoryFile(materialid, materialcode, materialname, materialspec, uomcode, warehousecode, stocktypecode, materialtypecode, minstockqty, maxstockqty,username, OperType);
return TJson.toJson(mes);
}
#endregion
#region[存货档案删除]
///
/// 存货档案删除
///
/// 物料编码
///
[Route(template: "DeleteInventoryFile")]
[HttpPost]
public HttpResponseMessage DeleteInventoryFile(string materialcode)
{
mes = ProductModelBLL.DeleteInventoryFile(materialcode);
return TJson.toJson(mes);
}
#endregion
#region[存货档案关联工艺路线查询]
///
/// 存货档案关联工艺路线查询
///
/// 物料编码
///
[Route(template: "InventoryFileAssociationRoute")]
[HttpGet]
public HttpResponseMessage InventoryFileAssociationRoute(string partcode)
{
mes = ProductModelBLL.InventoryFileAssociationRoute(partcode);
return TJson.toJson(mes);
}
#endregion
#region[存货档案关联工艺路线提交]
///
/// 存货档案关联工艺路线提交
///
/// 物料编码
/// 提交数据对象
///
[Route(template: "SaveInventoryFile")]
[HttpPost]
public HttpResponseMessage SaveInventoryFile(string partcode, List json)
{
var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
mes = ProductModelBLL.SaveInventoryFile(partcode, username,json);
return TJson.toJson(mes);
}
#endregion
#region[工艺路线查询]
///
/// 工艺路线查询
///
/// 工艺路线编码
/// 工艺路线名称
/// 工艺路线描述
/// 创建人员
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "RouteSearch")]
[HttpGet]
public HttpResponseMessage RouteSearch(string routecode = null, string routename = null, string description = null, string createuser = 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 = ProductModelBLL.RouteSearch(routecode, routename, description, createuser, startNum, endNum, prop, order);
return TJson.toJson(mes);
}
#endregion
#region[工艺路线预览]
///
/// 工艺路线预览
///
/// 工艺路线编码
///
[Route(template: "ViewRoute")]
[HttpGet]
public HttpResponseMessage ViewRoute(string routecode)
{
mes = ProductModelBLL.ViewRoute(routecode);
return TJson.toJson(mes);
}
#endregion
#region[工艺路线新增]
///
/// 工艺路线新增编辑
///
/// 工艺路线id
/// 操作类型(新增)
/// 提交数据
///
[Route(template: "AddUpdateRoute")]
[HttpPost]
public HttpResponseMessage AddUpdateRoute(string id,string opertype, RoutEdit json)
{
var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
mes = ProductModelBLL.AddUpdateRoute(id, opertype, username, json);
return TJson.toJson(mes);
}
#endregion
#region[工艺路线删除]
///
/// 工艺路线删除
///
/// 工艺路线编码
///
[Route(template: "DeleteRoute")]
[HttpPost]
public HttpResponseMessage DeleteRoute(string routecode)
{
mes = ProductModelBLL.DeleteRoute(routecode);
return TJson.toJson(mes);
}
#endregion
#region[工序查询]
///
/// 工序查询
///
/// 工序编码
/// 工序名称
/// 启用状态
/// 工序类型编码
/// 创建人员
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "StepSearch")]
[HttpGet]
public HttpResponseMessage StepSearch(string stepcode = null, string stepname = null, string enable = null,string steptypecode=null, string createuser = 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 = ProductModelBLL.StepSearch(stepcode, stepname, enable, steptypecode,createuser, startNum, endNum, prop, order);
return TJson.toJson(mes);
}
#endregion
#region[工序新增编辑]
///
/// 工序新增编辑
///
/// 提交数据对象
///
[Route(template: "AddUpdateStep")]
[HttpPost]
public HttpResponseMessage AddUpdateStep([FromBody] JObject obj)
{
string stepid = obj["id"].ToString(); //工序id(主键)
string stepcode = obj["stepcode"].ToString(); //工序编码
string stepname = obj["stepname"].ToString(); //工序名称
string steptypecode = obj["steptypecode"].ToString(); //工序类型编码
string enable = obj["enable"].ToString(); //启用状态
string description = obj["description"].ToString(); //工序描述
var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
string OperType = obj["OperType"].ToString(); //操作类型
mes = ProductModelBLL.AddUpdateStep(stepid, stepcode, stepname, steptypecode, enable, description, username, OperType);
return TJson.toJson(mes);
}
#endregion
#region[工序删除]
///
/// 工序删除
///
/// 工序编码
///
[Route(template: "DeleteStep")]
[HttpPost]
public HttpResponseMessage DeleteStep(string stepcode)
{
mes = ProductModelBLL.DeleteStep(stepcode);
return TJson.toJson(mes);
}
#endregion
#region[工序定义关联工作站查询]
///
/// 工序定义关联工作站查询
///
/// 工序编码
///
[Route(template: "StepAssociationEqp")]
[HttpGet]
public HttpResponseMessage StepAssociationEqp(string stepcode)
{
mes = ProductModelBLL.StepAssociationEqp(stepcode);
return TJson.toJson(mes);
}
#endregion
#region [工序定义关联工作站提交]
///
/// 工序定义关联工作站提交
///
/// 工序编码
/// 提交数据
///
[Route(template: "SaveStepAssociationEqp")]
[HttpPost]
public HttpResponseMessage SaveStepAssociationEqp(string stepcode, List json)
{
var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
mes = ProductModelBLL.SaveStepAssociationEqp(stepcode, username, json);
return TJson.toJson(mes);
}
#endregion
}
}