yl
2022-12-05 3004bd5c7daa7d85ed691818ab96bde207aeeedc
VueWebApi/Controllers/ProductionManagementController.cs
@@ -17,7 +17,7 @@
{
    [RoutePrefix(prefix: "api/ProductionManagement")]
    [ControllerGroup("生产管理", "在线接口")]
    //[ChannelActionFilter]
    [ChannelActionFilter]
    public class ProductionManagementController : ApiController
    {
        //定义全局信息返回变量
@@ -262,6 +262,23 @@
        public HttpResponseMessage SearchWorkStep(string wo_code)
        {
            mes = ProductionManagementBLL.SearchWorkStep(wo_code);
            return TJson.toJson(mes);
        }
        #endregion
        #region[MES工单工序任务查看SOP,获取SOP文件下拉列表]
        /// <summary>
        /// MES工单工序任务查看SOP,获取SOP文件下拉列表
        /// </summary>
        /// <param name="partcode">产品编码</param>
        /// <param name="routecode">工艺路线编码</param>
        /// <param name="stepcode">工序编码</param>
        /// <returns></returns>
        [Route(template: "SearchWorkStepSopList")]
        [HttpGet]
        public HttpResponseMessage SearchWorkStepSopList(string partcode,string routecode,string stepcode)
        {
            mes = ProductionManagementBLL.SearchWorkStepSopList(partcode, routecode, stepcode);
            return TJson.toJson(mes);
        }
        #endregion
@@ -643,6 +660,108 @@
        #endregion
        #region[生产管理,修改报工数据查询接口]
        /// <summary>
        /// 生产管理,修改报工数据查询接口
        /// </summary>
        /// <param name="verify">审核状态</param>
        /// <param name="wo_code">工单编号</param>
        /// <param name="partnumber">产品编码</param>
        /// <param name="partname">产品名称</param>
        /// <param name="partspec">产品规格</param>
        /// <param name="reportuser">报工人员</param>
        /// <param name="reportdate">报工时间</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [Route(template: "MesOrderStepVerifySearch")]
        [HttpGet]
        public HttpResponseMessage MesOrderStepVerifySearch(string verify=null, string wo_code=null,string partnumber=null,string partname=null,string partspec=null,string reportuser=null,string reportdate=null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            string reportdateopendate = "";  //收料开始时间
            string reportdateclosedate = "";    //收料结束时间
            if (reportdate != "" && reportdate != null)
            {
                reportdateopendate = reportdate.Split('~')[0].ToString();
                reportdateclosedate = reportdate.Split('~')[1].ToString();
            }
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = ProductionManagementBLL.MesOrderStepVerifySearch(verify, wo_code,partnumber,partname,partspec,reportuser,reportdateopendate,reportdateclosedate, startNum, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产管理,修改报工数据提交]
        /// <summary>
        /// 生产管理,修改报工数据提交
        /// </summary>
        /// <param name="json">提交数据</param>
        /// <returns></returns>
        [Route(template: "MesOrderStepUpdateSeave")]
        [HttpPost]
        public HttpResponseMessage MesOrderStepUpdateSeave(List<UpdateProductReport> json)
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ProductionManagementBLL.MesOrderStepUpdateSeave(username, json);
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产管理,修改报工审核提交]
        /// <summary>
        /// 生产管理,修改报工审核提交
        /// </summary>
        /// <param name="json">提交数据</param>
        /// <returns></returns>
        [Route(template: "MesOrderStepVerifySeave")]
        [HttpPost]
        public HttpResponseMessage MesOrderStepVerifySeave(List<UpdateProductReport> json)
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ProductionManagementBLL.MesOrderStepVerifySeave(username, json);
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产管理,修改报工反审核提交]
        /// <summary>
        /// 生产管理,修改报工反审核提交
        /// </summary>
        /// <param name="json">提交数据</param>
        /// <returns></returns>
        [Route(template: "MesOrderStepNoVerifySeave")]
        [HttpPost]
        public HttpResponseMessage MesOrderStepNoVerifySeave(List<UpdateProductReport> json)
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ProductionManagementBLL.MesOrderStepNoVerifySeave(username, json);
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产管理,删除报工记录]
        /// <summary>
        /// 生产管理,删除报工记录
        /// </summary>
        /// <param name="json">提交数据</param>
        /// <returns></returns>
        [Route(template: "MesOrderStepDeleteSeave")]
        [HttpPost]
        public HttpResponseMessage MesOrderStepDeleteSeave(List<UpdateProductReport> json)
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ProductionManagementBLL.MesOrderStepDeleteSeave(username, json);
            return TJson.toJson(mes);
        }
        #endregion
        #region[MES工单批量关闭查询]
        /// <summary>
        /// MES工单查询
@@ -821,5 +940,78 @@
            return TJson.toJson(mes);
        }
        #endregion
        #region[自动排程工单查询]
        /// <summary>
        /// 自动排程工单查询
        /// </summary>
        /// <param name="page">页码</param>
        /// <param name="rows">每页条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <param name="workshop">车间编码</param>
        /// <param name="wocode">生产工单号</param>
        /// <param name="partcode">物料编码</param>
        /// <param name="partname">物料名称</param>
        /// <returns></returns>
        [Route(template: "AdvancedSchedulingSearch")]
        [HttpGet]
        public HttpResponseMessage AdvancedSchedulingSearch(int page, int rows, string prop, string order, string workshop = null, string wocode = null, string partcode = null,string partname=null)
        {
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = ProductionManagementBLL.AdvancedSchedulingSearch(workshop, wocode, partcode, partname, startNum, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
        #region[高级排程点击工单任务带出瓶颈工序设备、已排程任务数据]
        /// <summary>
        /// 高级排程点击工单任务带出瓶颈工序设备、已排程任务数据
        /// </summary>
        /// <param name="wocode">工单编号</param>
        /// <param name="wkshpcode">车间编码</param>
        /// <param name="partcode">物料编码</param>
        /// <param name="botproccode">瓶颈工序编码(首道工序)</param>
        /// <param name="startdate">开始日期</param>
        /// <param name="enddate">结束日期</param>
        /// <returns></returns>
        [Route(template: "OnclickAdvancedSchedulingDevice")]
        [HttpGet]
        public HttpResponseMessage OnclickAdvancedSchedulingDevice(string wocode,string wkshpcode,string partcode,string botproccode,string startdate,string enddate)
        {
            List<AdvancedSchedulingDevice> list = new List<AdvancedSchedulingDevice>();
            List<AdvancedSchedAlready> list1 = new List<AdvancedSchedAlready>();
            list = ProductionManagementBLL.OnclickAdvancedSchedulingDevice(wocode, wkshpcode, partcode, startdate, enddate, ref mes); //排产设备信息
            DataTable dt = ProductionManagementBLL.AlreadyScheduling(wocode, wkshpcode, partcode, botproccode, startdate, enddate);   //设备已排程信息
            Dictionary<object, object> dList = new Dictionary<object, object>();
            dList.Add("rus", mes);
            dList.Add("rows", list);
            dList.Add("Cont", dt);
            return TJson.toJson(dList);
        }
        #endregion
        #region[排程数据提交]
        /// <summary>
        /// 排程数据提交
        /// </summary>
        /// <returns></returns>
        [Route(template: "SubmitAlreadyScheduling")]
        [HttpPost]
        public HttpResponseMessage SubmitAlreadyScheduling()
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            string wocode = HttpContext.Current.Request["wocode"].ToString();//工单编号
            string botprocecode = HttpContext.Current.Request["botprocecode"].ToString(); //瓶颈工序编码
            string json = HttpContext.Current.Request["json"].ToString(); //排程提交数据
            JavaScriptSerializer Serializer = new JavaScriptSerializer();
            List<AlreadyScheduling> objs = Serializer.Deserialize<List<AlreadyScheduling>>(json);
            mes = ProductionManagementBLL.SubmitAlreadyScheduling(username, wocode, botprocecode, objs);
            return TJson.toJson(mes);
        }
        #endregion
    }
}