using EnumType;
|
using IWareDataAccess.EF;
|
using IWareDataAccess.Entity.Base;
|
using IWareDataAccess.Entity.Order;
|
using IWareDataAccess.Helper;
|
using IWareDataAccess.ReturnEntity;
|
using IWareDataAccess.ReturnEntity.Order;
|
using Models.Input;
|
using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.IO;
|
using System.Linq;
|
using System.Linq.Expressions;
|
using System.Net;
|
using System.Net.Http;
|
using System.Web;
|
using System.Web.Http;
|
|
namespace WebApi_QQJF.Controllers
|
{
|
/// <summary>
|
/// 送签单
|
/// </summary>
|
public class InOrderController : ApiController
|
{
|
/// <summary>
|
/// 统一对象,读取值
|
/// </summary>
|
/// <returns></returns>
|
private InOrderWebEntity GetEntity()
|
{
|
InOrderWebEntity model = new InOrderWebEntity();
|
HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统context
|
HttpRequestBase request = context.Request;//定义传统request对象
|
|
WebHelper.WebHelper.GetRequest(request, model);
|
|
return model;
|
}
|
|
[HttpPost, Route("InOrder/Search")]
|
public IHttpActionResult Search(int page)
|
{
|
int onePageNum = 20;
|
return SearchFunc(page, onePageNum);
|
}
|
|
[HttpPost, Route("InOrder/Search")]
|
public IHttpActionResult Search(int page, int onePageNum)
|
{
|
return SearchFunc(page, onePageNum);
|
}
|
|
private static Expression<Func<View_ORDER_INORDER, bool>> GetFilter(InOrderWebEntity webEntity)
|
{
|
var f = PredicateBuilder.GetFilterExpression<InOrderWebEntity, View_ORDER_INORDER>(webEntity);
|
if (webEntity.InOrderPageType != null)
|
{//说明是要分页面查询 【EditBy shaocx,2022-11-01】
|
Expression<Func<View_ORDER_INORDER, bool>> newExpress = null;
|
InOrderPageTypeEnum inorderPageEnum = (InOrderPageTypeEnum)Enum.Parse(typeof(InOrderPageTypeEnum), webEntity.InOrderPageType.ToString());
|
switch (inorderPageEnum)
|
{
|
case InOrderPageTypeEnum.完工品输入页面:
|
newExpress = a => a.OrderStatusId != (int)InOrderStatusEnum.完工;
|
break;
|
}
|
if (newExpress != null)
|
{
|
f = f.And(newExpress);
|
}
|
}
|
return f;
|
}
|
|
private IHttpActionResult SearchFunc(int page, int onePageNum)
|
{
|
string msg = "";
|
InOrderWebEntity model = new InOrderWebEntity();
|
model = GetEntity();
|
//调用查询方法
|
var f = GetFilter(model);
|
ReturnSearchInOrderView returnData = new ReturnSearchInOrderView();
|
returnData.data = IWareDataAccess.Order.INORDER.InOrderSqlFunc.SearchView(f, page, onePageNum, out msg);
|
returnData.code = 0;
|
returnData.num = IWareDataAccess.Order.INORDER.InOrderSqlFunc.SearchViewNum(f);
|
returnData.page = page;
|
returnData.pageNum = (returnData.num - 1) / 20 + 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
/// <summary>
|
/// 导出冲压计划数据
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost, Route("InOrder/ExportInOrder")]
|
public IHttpActionResult ExportInOrder(int page, int onePageNum)
|
{
|
string msg = "";
|
InOrderWebEntity model = new InOrderWebEntity();
|
model = GetEntity();
|
|
//调用查询方法
|
var f = GetFilter(model);
|
var data = IWareDataAccess.Order.INORDER.InOrderSqlFunc.ExportInOrder(f, page, onePageNum, out msg);
|
//返回JSON结果
|
return Json(data);
|
|
}
|
|
/// <summary>
|
/// 新建或修改送签单
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost, Route("InOrder/AddOrUpdate")]
|
public IHttpActionResult AddOrUpdate()
|
{
|
string msg = "";
|
InOrderWebEntity model = new InOrderWebEntity();
|
model = GetEntity();
|
//调用查询方法
|
bool result = IWareDataAccess.Order.INORDER.InOrderSqlFunc.AddOrUpdate(model, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
[HttpPost, Route("InOrder/Add")]
|
public IHttpActionResult Add()
|
{
|
string msg = "";
|
InOrderWebEntity model = new InOrderWebEntity();
|
model = GetEntity();
|
model.orderStatus = "新建";
|
|
//调用查询方法
|
bool result = IWareDataAccess.Order.INORDER.InOrderSqlFunc.AddOrUpdate(model, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
[HttpPost, Route("InOrder/Update")]
|
public IHttpActionResult Update()
|
{
|
string msg = "";
|
InOrderWebEntity model = new InOrderWebEntity();
|
model = GetEntity();
|
//调用查询方法
|
bool result = IWareDataAccess.Order.INORDER.InOrderSqlFunc.AddOrUpdate(model, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
/// <summary>
|
/// 修改线下交付数量
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost, Route("InOrder/UpdateUnlineNum")]
|
public IHttpActionResult UpdateUnlineNum(InOrderUnlineNumInput input)
|
{
|
if (string.IsNullOrEmpty(input.InOrderCode))
|
{
|
return Json(ReturnResultAndMsg.Fail("计划单号不能为空!"));
|
}
|
string msg = "";
|
//调用查询方法
|
bool result = IWareDataAccess.Order.INORDER.InOrderSqlFunc.UpdateUnlineNum(input, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
/// <summary>
|
/// 提交审核
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost, Route("InOrder/Send")]
|
public IHttpActionResult Send(InOrderAuditInput input)
|
{
|
string msg = "";
|
string type = "提交审核";
|
|
if (string.IsNullOrEmpty(input.InOrderCode))
|
{
|
return Json(ReturnResultAndMsg.Fail("计划单号不能为空!"));
|
}
|
if (input.AuditUserId == null || input.AuditUserId == 0)
|
{
|
return Json(ReturnResultAndMsg.Fail("审核人不能为空!"));
|
}
|
|
//调用查询方法
|
bool result = IWareDataAccess.Order.INORDER.InOrderSqlFunc.UpdateStatus(input, type, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
[HttpPost, Route("InOrder/Check")]
|
public IHttpActionResult Check(InOrderAuditInput input)
|
{
|
if (string.IsNullOrEmpty(input.InOrderCode))
|
{
|
return Json(ReturnResultAndMsg.Fail("计划单号不能为空!"));
|
}
|
string msg = "";
|
string type = "审核通过";
|
//调用查询方法
|
bool result = IWareDataAccess.Order.INORDER.InOrderSqlFunc.UpdateStatus(input, type, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
[HttpPost, Route("InOrder/Reject")]
|
public IHttpActionResult Reject(InOrderAuditInput input)
|
{
|
if (string.IsNullOrEmpty(input.InOrderCode))
|
{
|
return Json(ReturnResultAndMsg.Fail("计划单号不能为空!"));
|
}
|
string msg = "";
|
string type = "驳回";
|
//调用查询方法
|
bool result = IWareDataAccess.Order.INORDER.InOrderSqlFunc.UpdateStatus(input, type, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
[HttpPost, Route("InOrder/Delete")]
|
public IHttpActionResult Delete()
|
{
|
string msg = "";
|
InOrderWebEntity model = new InOrderWebEntity();
|
model = GetEntity();
|
//调用查询方法
|
bool result = IWareDataAccess.Order.INORDER.InOrderSqlFunc.Delete(model, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
|
}
|
|
[HttpPost, Route("InOrder/GetCode")]
|
public IHttpActionResult GetCode()
|
{
|
string msg = "";
|
InOrderWebEntity model = new InOrderWebEntity();
|
model = GetEntity();
|
//调用查询方法
|
string result = IWareDataAccess.Order.INORDER.InOrderSqlFunc.GetCode();
|
//返回JSON结果
|
return Json(result);
|
|
}
|
|
/// <summary>
|
/// 导入冲压计划数据
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost, Route("InOrder/ImportInOrder")]
|
public IHttpActionResult ImportInOrder()
|
{
|
string msg = "";
|
List<InOrderWebEntity> model = new List<InOrderWebEntity>();
|
HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统context
|
HttpRequestBase request = context.Request;//定义传统request对象
|
string Items = request.Form["items"];
|
string userName = request.Form["userName"];
|
model = JsonConvert.DeserializeObject<List<InOrderWebEntity>>(Items);
|
//model = JsonConvert.DeserializeObject<List<InOrderExcelEntity>>(Items);
|
//string path = HttpContext.Current.Request.MapPath("~/");
|
//HttpPostedFile file = HttpContext.Current.Request.Files[0];
|
//bool bl = IWareDataAccess.Helper.ExcelHelper.UploadFiles(file, path, out msg); ;
|
//调用查询方法
|
bool bl = IWareDataAccess.Order.INORDER.InOrderSqlFunc.ImportInOrder(model, userName, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = bl ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
|
}
|
|
|
|
|
[HttpPost, Route("InOrder/ExcelTest")]
|
public IHttpActionResult ExcelTest()
|
{
|
string msg = "";
|
;
|
InOrderExcelEntity ent = new InOrderExcelEntity();
|
string path = HttpContext.Current.Request.MapPath("~/");
|
var file = HttpContext.Current.Request.Files[0].InputStream;
|
HttpPostedFile pf = HttpContext.Current.Request.Files[0];
|
string datetime = Helper.GetTimeStamp();
|
string strPath = @"c:\ImportExcel\" + datetime + "\\";//这里要注意的是先要建立File文件夹,不然会报错,也可以自己写一个检测文件夹,这里就先不赘述
|
if (!Directory.Exists(strPath))
|
{
|
Directory.CreateDirectory(strPath);
|
}
|
strPath += pf.FileName;
|
pf.SaveAs(strPath);
|
//Helper.StreamToFile(file, strPath);//需要用到下一步的帮助类将其保存为文件
|
bool bl = IWareDataAccess.Order.INORDER.InOrderSqlFunc.ImportExcel(strPath, ent, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = bl ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
|
}
|
}
|
}
|