TaskController.cs 10.4 KB
using Infrastructure;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using ServiceReference1;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.Linq;
using System.Xml;
using WebApp;
using WebRepository;

namespace WebMvc
{
    /// <summary>
	/// 立库任务表
	/// </summary>
    [Area("task")]
    public class TaskController : BaseController
    {
        private readonly TaskApp _app;
        private IUnitWork _unitWork;

        public TaskController(IAuth authUtil, TaskApp app,IUnitWork unitWork) : base(authUtil)
        {
            _app = app.SetLoginInfo(_loginInfo);
            _unitWork = unitWork;
        }
        #region 视图功能
        /// <summary>
        /// 默认视图Action
        /// </summary>
        /// <returns></returns>
        [Authenticate]
        [ServiceFilter(typeof(OperLogFilter))]
        public ActionResult Index()
        {
            return View();
        }
        /// <summary>
        /// 切片机入库视图
        /// </summary>
        /// <returns></returns>
        [Authenticate]
        [ServiceFilter(typeof(OperLogFilter))]
        public ActionResult PalletIn()
        {
            return View();
        }
        /// <summary>
        /// 临时添加库内物料视图
        /// </summary>
        /// <returns></returns>
        [Authenticate]
        [ServiceFilter(typeof(OperLogFilter))]
        public ActionResult AddLocation()
        {
            return View();
        }
        /// <summary>
        /// PP片从铜箔入空板
        /// </summary>
        /// <returns></returns>
        [Authenticate]
        [ServiceFilter(typeof(OperLogFilter))]
        public ActionResult PPEmptyIn()
        {
            return View();
        }
        #endregion
        #region 获取数据
        /// <summary>
        /// 加载及分页查询
        /// </summary>
        /// <param name="pageRequest">表单请求信息</param>
        /// <param name="entity">请求条件实例</param>
        /// <returns></returns>
        [HttpPost]
        public string Load(PageReq pageRequest, Task entity)
        {
            return JsonHelper.Instance.Serialize(_app.Load(pageRequest, entity));
        }
        #endregion
        #region 提交数据
        /// <summary>
        /// 新增数据
        /// </summary>
        /// <param name="Table_entity">新增实例</param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Ins(Task Table_entity)
        {
            try
            {
                _app.Ins(Table_entity);
            }
            catch (Exception ex)
            {
                Result.Status = false;
                Result.Message = ex.Message;
            }
            return JsonHelper.Instance.Serialize(Result);
        }
        /// <summary>
        /// 修改数据
        /// </summary>
        /// <param name="Table_entity">修改实例</param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string Upd(Task Table_entity)
        {
            try
            {
                _app.Upd(Table_entity);
            }
            catch (Exception ex)
            {
                Result.Status = false;
                Result.Message = ex.Message;
            }
            return JsonHelper.Instance.Serialize(Result);
        }
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string DelByIds(int[] ids)
        {
            try
            {
                _app.DelByIds(ids);
            }
            catch (Exception ex)
            {
                Result.Status = false;
                Result.Message = ex.Message;
            }
            return JsonHelper.Instance.Serialize(Result);
        }
        #endregion
        #region 导出数据
        /// <summary>
        /// 导出数据
        /// </summary>
        /// <param name="entity">请求条件实例</param>
        /// <returns></returns>
        [HttpPost]
        public string Export(Task entity)
        {
            return JsonHelper.Instance.Serialize(_app.ExportData(entity));
        }
        #endregion
        #region 导出模板
        /// <summary>
        /// 导出模板
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public string GetTemplate()
        {
            var result = new TableData();
            List<Task> listTask = new List<Task>();
            Task entity = _app.FindSingle(u => u.Id > 0);
            if (entity != null)
            {
                listTask.Add(entity);
            }
            else
            {
                listTask.Add(new Task());
            }
 
            result.data = listTask;
            result.count = listTask.Count;

            return JsonHelper.Instance.Serialize(result);
        }
        #endregion
        #region 导入数据
        /// <summary>
        /// 导入数据
        /// </summary>
        /// <param name="excelfile">表单提交的文件信息</param>
        /// <returns></returns>
        [HttpPost]
        public string Import(IFormFile excelfile)
        {
            try
            {
                Response result = _app.ImportIn(excelfile);
                if (!result.Status)
                {
                    Result.Status = false;
                    Result.Message = result.Message;
                }
            }
            catch (Exception ex)
            {
                Result.Status = false;
                Result.Message = ex.Message;
            }
            return JsonHelper.Instance.Serialize(Result);
        }
        #endregion
        #region 自定义方法
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string EmptyContainerBack(string station, string type, string containerCode )
        {
            return JsonHelper.Instance.Serialize(_app.EmptyContainerBack(station,containerCode, type));
        }
        //整托手动任务
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string HandTaskIn(string containerCode, string station, int isBuffer, string isPack, string isFold, string status, string materialCode)
        {
            return JsonHelper.Instance.Serialize(_app.HandTaskInApp(containerCode, station, isBuffer, isPack, isFold, status, materialCode));
        }
        /// <summary>
        /// 手动添加物料库存
        /// </summary>
        /// <param name="containerCode">托盘号</param>
        /// <param name="station">站台号</param>
        /// <param name="material">料号</param>
        /// <param name="Lot">批号</param>
        /// <param name="num">数量</param>
        /// <param name="Batch">批次</param>
        /// <param name="Customer">客户编号</param>
        /// <param name="Typesetting">排版数量</param>
        /// <param name="Supplier">供应商</param>
        /// <param name="ResidualWeight">厚度</param>
        /// <param name="Retreat">退料人</param>
        /// <returns></returns>
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string AddInventory(string containerCode, string station, string material, string Lot, decimal num, string Batch, string Customer, string Typesetting, string Supplier, decimal ResidualWeight, string Retreat, string Project, string QRcode, string Truss)
        {
            TableData tab = new TableData();
            string specification = "";
            string nameDescription = "";
            string unit = "";
            string Size = "";
            decimal NumberofSheets = -1;
            decimal Groupnum = -1;
            decimal time = -1;
            Customer = "-1";
            return JsonHelper.Instance.Serialize(_app.AddInventoryApp(containerCode, station, material, Lot, num, Batch, Customer, Typesetting, Supplier, ResidualWeight, Retreat, nameDescription, specification, unit, time, Size, NumberofSheets, Groupnum, Project, QRcode,Truss));
        }
        //站台到站台
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string StationToStation(string containerCode, string startStation, string endStation, string material)
        {
            return JsonHelper.Instance.Serialize(_app.StationToStationApp(containerCode, startStation, endStation, material));
        }
        //空栈板出库
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string EmptyPalletOut(string station, string type)
        {
            return JsonHelper.Instance.Serialize(_app.EmptyPalletOutApp(station, type));
        }

        //比对托盘号,占用站台并创建容器
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string PalletIsNo(string Pallet, string station, string type)
        {
            return JsonHelper.Instance.Serialize(_app.PalletIsNo(Pallet, station, type));
        }
        //通过站台查询已锁站台托盘号(暂存区专用)
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string SelStation(string station)
        {
            return JsonHelper.Instance.Serialize(_app.SelStation(station));
        }
        //删除任务数据和库位信息
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string DelTask(int Id, int Isout, string Name)
        {
            return JsonHelper.Instance.Serialize(_app.DelTask(Id, Isout, Name));
        }
        //对比站台
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string FindStation(string Station)
        {
            return JsonHelper.Instance.Serialize(_app.FindStation(Station));
        }
        //PP卷查找站台
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string PPJSelStation(string Station)
        {
            return JsonHelper.Instance.Serialize(_app.PPJSelStation(Station));
        }

        //根据任务主表查询托盘号
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string SelectTaskContainer(int Id)
        {
            return JsonHelper.Instance.Serialize(_app.SelectTaskContainer(Id));
        }
        //任务异常处理
        [HttpPost]
        [ServiceFilter(typeof(OperLogFilter))]
        public string AbnormalTask(string code, string type, string Name)
        {
            return JsonHelper.Instance.Serialize(_app.AbnormalTaskApp(code, type, Name));
        }
        #endregion

    }
}