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 { /// /// 统一对象,读取值 /// /// 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; } /// /// 统一对象,读取值 /// /// 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 cvi = new List(); 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> GetFilter(ContainerVsItemWebEntity webEntity) { var f = PredicateBuilder.GetFilterExpression(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> 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); } } /// /// 新建或更新组盘 /// /// [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); } } /// /// 冲压生产计划关联组盘入库a /// /// /// [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("无文件"); } } }