using Autofac.Core; using Hh.Mes.Common.Request; using Hh.Mes.POJO.Entity; using Hh.Mes.Service; using Hh.Mes.Service.Configure; using Hh.Mes.Service.SystemAuth; using Hh.Mes.Service.WebService.Configure; using Microsoft.AspNetCore.Mvc; using System; using WebMvc.Aop; namespace WebMvc { /// <summary> /// 产品表 /// </summary> [Area("configure")] public class ProductHeaderController : BaseController { private readonly ProductService productHeaderService; public ProductHeaderController(IAuth authUtil, ProductService app) : base(authUtil) { productHeaderService = app; productHeaderService.sysWebUser = authUtil.GetCurrentUser().User; } #region 视图功能 /// <summary> /// 默认视图Action /// </summary> /// <returns></returns> [ResponseCache(Duration = 60)] public ActionResult Index() { return View(); } #endregion #region 获取数据 /// <summary> /// 加载及分页查询 /// </summary> /// <param name="pageRequest">表单请求信息</param> /// <param name="entity">请求条件实例</param> /// <returns></returns> [HttpPost] public string Load(PageReq pageRequest, base_product_header entity) { //下拉弹出框 var keyword = Request.Form["keyword"]; if (!string.IsNullOrEmpty(keyword)) { entity.productCodeOrProductName = keyword.ToString(); } return Serialize(productHeaderService.GetProductHeaderList(pageRequest, entity)); } /// <summary> /// 加载及分页查询 /// </summary> /// <param name="pageRequest">表单请求信息</param> /// <param name="entity">请求条件实例</param> /// <returns></returns> [HttpPost] public string LoadDesc(PageReq pageRequest, base_product_detail entity) { return Serialize(productHeaderService.LoadDesc(pageRequest, entity)); } #endregion #region 提交数据 /// <summary> /// 新增数据 /// </summary> /// <param name="entity">新增实例</param> /// <returns></returns> [HttpPost] [XSSFilter] [ServiceFilter(typeof(OperLogFilter))] public string Ins(base_product_header entity) { var result = productHeaderService.Ins(entity); return Serialize(result); } /// <summary> /// 修改数据 /// </summary> /// <param name="entity">修改实例</param> /// <returns></returns> [HttpPost] [ServiceFilter(typeof(OperLogFilter))] [XSSFilter] public string Upd(base_product_header entity) { var result = productHeaderService.Upd(entity); return Serialize(result); } [HttpPost] [ServiceFilter(typeof(OperLogFilter))] public string DelByIds(Guid[] ids) { var result = productHeaderService.DelByIds(ids); return Serialize(result); } #endregion #region 明细表提交数据 /// <summary> /// 新增数据 /// </summary> /// <param name="entity">新增实例</param> /// <returns></returns> [HttpPost] [XSSFilter] [ServiceFilter(typeof(OperLogFilter))] public string InsDesc(base_product_detail entity) { return Serialize(productHeaderService.InsDesc(entity)); } /// <summary> /// 修改数据 /// </summary> /// <param name="entity">修改实例</param> /// <returns></returns> [HttpPost] [XSSFilter] [ServiceFilter(typeof(OperLogFilter))] public string UpdDesc(base_product_detail entity) { return Serialize(productHeaderService.UpdDesc(entity)); } [HttpPost] [ServiceFilter(typeof(OperLogFilter))] public string DelByIdsDesc(int[] ids) { return Serialize(productHeaderService.DelByIdsDesc(ids)); } #endregion #region 导出数据 /// <summary> /// 导出数据 /// </summary> /// <param name="entity">请求条件实例</param> /// <returns></returns> [HttpPost] public string Export(base_product_header entity) { return Serialize(productHeaderService.GetProductHeaderList(null, entity)); } #endregion #region 自定义方法 /// <summary> /// 获取已经绑定的 工艺产品 /// </summary> public string GetProductByProcessCode(string processCode) { return Serialize(productHeaderService.GetProductByProductCode(processCode)); } /// <summary> /// 工艺路线和 产品的关系表 /// </summary> [HttpPost] [XSSFilter] public string OperateProduct(string processCode, string processName, string productCode, Guid processHeadKeys, string lineCode, bool checkeds) { return Serialize(productHeaderService.OperateProduct(processCode, processName, productCode, processHeadKeys,lineCode, checkeds)); } /// <summary> /// 产品明细 分配 物料 /// </summary> [HttpPost] [XSSFilter] public string AssignMaterial(string materialCodes, Guid proHeadKeys, bool checkeds) { return Serialize(productHeaderService.AssignMaterial(materialCodes, proHeadKeys, checkeds)); } #endregion } }