using IWareDataAccess.EF;
|
using IWareDataAccess.Entity.Base;
|
using IWareDataAccess.Helper;
|
using IWareDataAccess.ReturnEntity;
|
using IWareDataAccess.ReturnEntity.Base;
|
using Models.Input;
|
using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Linq.Expressions;
|
using System.Net;
|
using System.Net.Http;
|
using System.Web;
|
using System.Web.Http;
|
using System.Web.Http.Results;
|
|
namespace WebApi_QQJF.Controllers
|
{
|
public class ContainerVsItemController : ApiController
|
{
|
/// <summary>
|
/// 统一对象,读取值
|
/// </summary>
|
/// <returns></returns>
|
private ContainerVsItemWebEntity GetEntity()
|
{
|
ContainerVsItemWebEntity model = new ContainerVsItemWebEntity();
|
HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统context
|
HttpRequestBase request = context.Request;//定义传统request对象
|
|
WebHelper.WebHelper.GetRequest(request, model);
|
|
return model;
|
}
|
|
/// <summary>
|
/// 统一对象,读取值
|
/// </summary>
|
/// <returns></returns>
|
private ContainerVsItemListWebEntity GetEntityList()
|
{
|
ContainerVsItemListWebEntity model = new ContainerVsItemListWebEntity();
|
HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统context
|
HttpRequestBase request = context.Request;//定义传统request对象
|
|
WebHelper.WebHelper.GetRequest(request, model);
|
|
return model;
|
}
|
|
[HttpPost, Route("ContainerVsItem/Search")]
|
public IHttpActionResult Search(int page)
|
{
|
int onePageNum = 20;
|
return SearchFunc(page, onePageNum);
|
}
|
|
[HttpPost, Route("ContainerVsItem/Search")]
|
public IHttpActionResult Search(int page, int onePageNum)
|
{
|
return SearchFunc(page, onePageNum);
|
}
|
|
[HttpPost, Route("ContainerVsItem/SearchPrint")]
|
public IHttpActionResult SearchPrint(int page, int onePageNum)
|
{
|
return SearchPrintFunc(page, onePageNum);
|
}
|
|
private IHttpActionResult SearchPrintFunc(int page, int onePageNum)
|
{
|
string msg = "";
|
ContainerVsItemWebEntity model = new ContainerVsItemWebEntity();
|
model = GetEntity();
|
//调用查询方法
|
ReturnSearchContainerVsItemViewPrint returnData = new ReturnSearchContainerVsItemViewPrint();
|
|
var f = GetFilter(model);
|
|
var data = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.SearchView(f, model, page, onePageNum, out msg);
|
List<View_BASE_CONTAINER_VS_ITEMPrint> cvi = new List<View_BASE_CONTAINER_VS_ITEMPrint>();
|
View_BASE_CONTAINER_VS_ITEMPrint c = new View_BASE_CONTAINER_VS_ITEMPrint();
|
foreach (var i in data)
|
{
|
if (c == null || string.IsNullOrEmpty(c.itemName))
|
{
|
c.createLine = i.createLine;
|
c.itemName = i.itemName;
|
c.itemType = i.itemType;
|
c.itemDes = i.itemDes;
|
c.itemNum = i.itemNum.ToString();
|
c.updateTime = i.updateTime;
|
}
|
else
|
{
|
c.itemName += "," + i.itemName;
|
c.itemType += "," + i.itemType;
|
c.itemNum += "," + i.itemNum;
|
c.itemDes += "," + i.itemDes;
|
}
|
}
|
cvi.Add(c);
|
returnData.data = cvi;
|
returnData.code = 0;
|
returnData.num = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.SearchViewNum(f, model, out msg);
|
returnData.page = page;
|
returnData.pageNum = (returnData.num - 1) / 20 + 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
private static Expression<Func<View_BASE_CONTAINER_VS_ITEM, bool>> GetFilter(ContainerVsItemWebEntity webEntity)
|
{
|
var f = PredicateBuilder.GetFilterExpression<ContainerVsItemWebEntity, View_BASE_CONTAINER_VS_ITEM>(webEntity);
|
if (webEntity.isSearchNoRelevanceInOrder)
|
{//处理查询 【EditBy shaocx,2022-11-01】
|
var queryTime = DateTime.Now.AddDays(-7);
|
//var queryTime = DateTime.Now.AddDays(-2000);//暂时延长时间,方便测试,模拟 【EditBy shaocx,2022-11-2】
|
Expression<Func<View_BASE_CONTAINER_VS_ITEM, bool>> newExpress = a => a.updateTime >= queryTime && string.IsNullOrEmpty(a.inOrderCode);
|
f = f.And(newExpress);
|
}
|
return f;
|
}
|
|
private IHttpActionResult SearchFunc(int page, int onePageNum)
|
{
|
string msg = "";
|
ContainerVsItemWebEntity model = new ContainerVsItemWebEntity();
|
model = GetEntity();
|
//调用查询方法
|
var f = GetFilter(model);
|
|
ReturnSearchContainerVsItemView returnData = new ReturnSearchContainerVsItemView();
|
returnData.data = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.SearchView(f, model, page, onePageNum, out msg);
|
returnData.code = 0;
|
returnData.num = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.SearchViewNum(f, model, out msg);
|
returnData.page = page;
|
returnData.pageNum = (returnData.num - 1) / 20 + 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
[HttpPost, Route("ContainerVsItem/AddOrUpdate")]
|
public IHttpActionResult AddOrUpdate()
|
{
|
try
|
{
|
|
|
|
string msg = "";
|
ContainerVsItemWebEntity model = new ContainerVsItemWebEntity();
|
model = GetEntity();
|
//调用查询方法
|
bool result = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.AddOrUpdate(model, out msg);
|
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
catch (Exception ex)
|
{
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = 1;
|
returnData.msg = "出现异常:" + ex.Message;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
}
|
|
/// <summary>
|
/// 新建或更新组盘
|
/// </summary>
|
/// <returns></returns>
|
[HttpPost, Route("ContainerVsItem/AddOrUpdateAll")]
|
public IHttpActionResult AddOrUpdateAll()
|
{
|
string msg = "";
|
ContainerVsItemListWebEntity model = new ContainerVsItemListWebEntity();
|
model = GetEntityList();
|
//调用查询方法
|
bool result = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.AddOrUpdateAll(model, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
|
[HttpPost, Route("ContainerVsItem/PrintContainerVsItem")]
|
public IHttpActionResult PrintContainerVsItem()
|
{
|
string msg = "";
|
ContainerVsItemListWebEntity model = new ContainerVsItemListWebEntity();
|
model = GetEntityList();
|
//调用查询方法
|
bool result = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.PrintContainerVsItem(model, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
|
[HttpPost, Route("ContainerVsItem/Update")]
|
public IHttpActionResult Update()
|
{
|
try
|
{
|
string msg = "";
|
ContainerVsItemWebEntity model = new ContainerVsItemWebEntity();
|
model = GetEntity();
|
//调用查询方法
|
bool result = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.Update(model, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
|
}
|
catch (Exception ex)
|
{
|
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = 1;
|
returnData.msg = "出现异常:" + ex.Message;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
}
|
|
/// <summary>
|
/// 冲压生产计划关联组盘入库a
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost, Route("ContainerVsItem/BindCviCode")]
|
public IHttpActionResult BindCviCode(UpdateCviCodeInput input)
|
{
|
string msg = "";
|
|
if (string.IsNullOrEmpty(input.cviCode))
|
{
|
return Json(ReturnResultAndMsg.Fail("生产计划单号不能为空!"));
|
}
|
|
//调用查询方法
|
bool result = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.BindCviCode(input, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
}
|
|
[HttpPost, Route("ContainerVsItem/DeleteAll")]
|
public IHttpActionResult DeleteAll()
|
{
|
string msg = "";
|
ContainerVsItemWebEntity model = new ContainerVsItemWebEntity();
|
model = GetEntity();
|
//调用查询方法
|
bool result = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.DeleteAll(model, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
|
}
|
|
[HttpPost, Route("ContainerVsItem/DeleteOne")]
|
public IHttpActionResult DeleteOne()
|
{
|
|
|
string msg = "";
|
ContainerVsItemWebEntity model = new ContainerVsItemWebEntity();
|
model = GetEntity();
|
//调用查询方法
|
bool result = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.DeleteOne(model, out msg);
|
ReturnResultAndMsg returnData = new ReturnResultAndMsg();
|
returnData.code = result ? 0 : 1;
|
returnData.msg = msg;
|
//返回JSON结果
|
return Json(returnData);
|
|
}
|
|
[HttpPost, Route("ContainerVsItem/GetCode")]
|
public IHttpActionResult GetCode()
|
{
|
|
ContainerVsItemWebEntity model = new ContainerVsItemWebEntity();
|
model = GetEntity();
|
//调用查询方法
|
string result = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.GetCode();
|
//返回JSON结果
|
return Json(result);
|
|
}
|
|
[HttpPost, Route("ContainerVsItem/PdaPrint")]
|
public IHttpActionResult PdaPrint()//suffix是后缀的意思,可以自己判断,也可以前端传输
|
{
|
string msg = "";
|
ContainerVsItemListWebEntity model = new ContainerVsItemListWebEntity();
|
model = GetEntityList();
|
string path = HttpContext.Current.Request.MapPath("~/");//获取你的根目录
|
string result = IWareDataAccess.Base.CONTAINERVSITEM.ContainerVsItemSqlFunc.PdaPrintBtn(model, path, out msg);
|
return Json(result);
|
|
}
|
|
[HttpPost, Route("ContainerVsItem/UpLoadImageFiles")]
|
public IHttpActionResult UpLoadImageFiles()//suffix是后缀的意思,可以自己判断,也可以前端传输
|
{
|
|
|
var files = HttpContext.Current.Request.Files;//首先先确定请求里夹带的文件数量
|
if (files.AllKeys.Any())//如果存在文件
|
{
|
using (HttpClient client = new HttpClient())
|
{
|
var text = HttpContext.Current.Request.Files[0].InputStream;//获取到文件流
|
string path = HttpContext.Current.Request.MapPath("~/");//获取你的根目录
|
HttpPostedFile pf = HttpContext.Current.Request.Files[0];
|
string datetime = Helper.GetTimeStamp();
|
string strPath = path + "Uplod\\" + datetime + ".PNG";//这里要注意的是先要建立File文件夹,不然会报错,也可以自己写一个检测文件夹,这里就先不赘述
|
pf.SaveAs(strPath);
|
string url = @"Uplod\" + datetime + ".PNG";
|
// Helper.StreamToFile(text, strPath);//需要用到下一步的帮助类将其保存为文件
|
return Json(url);
|
}
|
}
|
return Json("无文件");
|
}
|
}
|
}
|