yl
2023-06-17 5b4fb9c56426b5096555560a44dd365b02853ad4
VueWebApi/Controllers/ProductionManagementController.cs
@@ -47,6 +47,8 @@
        [HttpGet]
        public HttpResponseMessage ErpOrderSearch(string erporderstus = null, string erpordercode = null, string partcode = null, string partname = null, string partspec = null, string paystartdate = null, string payenddate = null, string creatuser = null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //所属组织
            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //所属组织类型
            string paydatestartdate = "";  //预计开工开始时间
            string paydateenddate = "";    //预计开工结束时间
            string paydatestartdate1 = "";  //预计完工开始时间
@@ -63,7 +65,7 @@
            }
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = ProductionManagementBLL.ErpOrderSearch(erporderstus, erpordercode, partcode, partname, partspec, startNum, paydatestartdate, paydateenddate, paydatestartdate1, paydateenddate2, creatuser, endNum, prop, order);
            mes = ProductionManagementBLL.ErpOrderSearch(stu_torgcode, stu_torgtypecode,erporderstus, erpordercode, partcode, partname, partspec, startNum, paydatestartdate, paydateenddate, paydatestartdate1, paydateenddate2, creatuser, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
@@ -136,9 +138,11 @@
        [HttpGet]
        public HttpResponseMessage MesOrderSearch(int page, int rows, string prop, string order, string mesorderstus = null, string mesordercode = null, string sourceorder = null, string ordertype = null, string partcode = null, string partname = null, string partspec = null, string creatuser = null, string createdate = null)
        {
            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //所属组织
            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //所属组织类型
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = ProductionManagementBLL.MesOrderSearch(mesorderstus, mesordercode, sourceorder, ordertype, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
            mes = ProductionManagementBLL.MesOrderSearch(stu_torgcode, stu_torgtypecode,mesorderstus, mesordercode, sourceorder, ordertype, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
@@ -175,12 +179,13 @@
        /// 产品编码查找工艺路线下拉接口
        /// </summary>
        /// <param name="partcode">产品编码</param>
        /// <param name="wkshopcode">车间编码</param>
        /// <returns></returns>
        [Route(template: "PartSelectRoute")]
        [HttpGet]
        public HttpResponseMessage PartSelectRoute(string partcode)
        public HttpResponseMessage PartSelectRoute(string partcode,string wkshopcode)
        {
            mes = ProductionManagementBLL.PartSelectRoute(partcode);
            mes = ProductionManagementBLL.PartSelectRoute(partcode, wkshopcode);
            return TJson.toJson(mes);
        }
        #endregion
@@ -190,13 +195,14 @@
        /// 产品+工艺路线查找车间下拉接口
        /// </summary>
        /// <param name="partcode">产品编码</param>
        /// <param name="routecode">工艺路线编码</param>
        /// <returns></returns>
        [Route(template: "RouteSelectWkshop")]
        [HttpGet]
        public HttpResponseMessage RouteSelectWkshop(string partcode, string routecode)
        public HttpResponseMessage RouteSelectWkshop(string partcode)
        {
            mes = ProductionManagementBLL.RouteSelectWkshop(partcode, routecode);
            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //所属组织
            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //所属组织类型
            mes = ProductionManagementBLL.RouteSelectWkshop(stu_torgcode, stu_torgtypecode,partcode);
            return TJson.toJson(mes);
        }
        #endregion
@@ -387,9 +393,11 @@
        [HttpGet]
        public HttpResponseMessage MesOrderStepSearch(string orderstepqrcode = null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //所属组织
            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //所属组织类型
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = ProductionManagementBLL.MesOrderStepSearch(orderstepqrcode, startNum, endNum, prop, order);
            mes = ProductionManagementBLL.MesOrderStepSearch(stu_torgcode, stu_torgtypecode,orderstepqrcode, startNum, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
@@ -408,9 +416,11 @@
        [HttpGet]
        public HttpResponseMessage MesOrderWxStepSearch(string orderstepqrcode = null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //所属组织
            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //所属组织类型
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = ProductionManagementBLL.MesOrderWxStepSearch(orderstepqrcode, startNum, endNum, prop, order);
            mes = ProductionManagementBLL.MesOrderWxStepSearch(stu_torgcode, stu_torgtypecode,orderstepqrcode, startNum, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
@@ -429,9 +439,11 @@
        [HttpGet]
        public HttpResponseMessage MesOrderNgStepSearch(string orderstepqrcode = null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //所属组织
            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //所属组织类型
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = ProductionManagementBLL.MesOrderNgStepSearch(orderstepqrcode, startNum, endNum, prop, order);
            mes = ProductionManagementBLL.MesOrderNgStepSearch(stu_torgcode, stu_torgtypecode,orderstepqrcode, startNum, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
@@ -487,12 +499,15 @@
        /// <summary>
        /// 生产开报工:报工时获取生产班组下拉框
        /// </summary>
        /// <param name="wkshopcode">车间编码</param>
        /// <returns></returns>
        [Route(template: "MesOrderStepReportSelectUserGroup")]
        [HttpGet]
        public HttpResponseMessage MesOrderStepReportSelectUserGroup()
        public HttpResponseMessage MesOrderStepReportSelectUserGroup(string wkshopcode)
        {
            mes = ProductionManagementBLL.MesOrderStepReportSelectUserGroup();
            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //所属组织
            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //所属组织类型
            mes = ProductionManagementBLL.MesOrderStepReportSelectUserGroup(stu_torgcode, stu_torgtypecode,wkshopcode);
            return TJson.toJson(mes);
        }
        #endregion
@@ -595,6 +610,7 @@
            string stepseq = obj["stepseq"].ToString(); //工序序号
            string stepcode = obj["stepcode"].ToString(); //工序编码
            string eqpcode = obj["eqpcode"].ToString(); //设备编码
            string inbarcode = obj["inbarcode"].ToString(); //入库条码
            string reckway = obj["reckway"].ToString(); //计件方式(班组:group、个人:person)
            string usergroupcode = obj["usergroupcode"].ToString(); //班组编码
            string reportuser = obj["reportuser"].ToString();  //报工人员
@@ -605,7 +621,7 @@
            string badcode = obj["badcode"].ToString(); //不良原因编码
            string remarks = obj["remarks"].ToString(); //备注
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ProductionManagementBLL.SavaMesOrderStepReport(mesordercode, partcode, stepseq, stepcode, eqpcode, reckway, usergroupcode, reportuser, taskqty, startqty, reportqty, ngqty, badcode, remarks, username);
            mes = ProductionManagementBLL.SavaMesOrderStepReport(mesordercode, partcode, stepseq, stepcode, eqpcode, inbarcode, reckway, usergroupcode, reportuser, taskqty, startqty, reportqty, ngqty, badcode, remarks, username);
            return TJson.toJson(mes);
        }
        #endregion
@@ -649,6 +665,7 @@
            string stepseq = obj["stepseq"].ToString(); //工序序号
            string stepcode = obj["stepcode"].ToString(); //工序编码
            string wxcode = obj["wxcode"].ToString(); //外协供应商编码
            string inbarcode = obj["inbarcode"].ToString(); //入库条码
            string inuser = obj["inuser"].ToString();  //收料人员
            string taskqty = obj["taskqty"].ToString(); //任务数量
            string sqty = obj["sqty"].ToString(); //收料数量
@@ -656,7 +673,7 @@
            string badcode = obj["badcode"].ToString(); //不良原因编码
            string remarks = obj["remarks"].ToString(); //备注
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ProductionManagementBLL.SavaMesOrderStepIn(mesordercode, partcode, stepseq, stepcode, wxcode, inuser, taskqty, sqty, ngqty, badcode, remarks, username);
            mes = ProductionManagementBLL.SavaMesOrderStepIn(mesordercode, partcode, stepseq, stepcode, wxcode, inbarcode, inuser, taskqty, sqty, ngqty, badcode, remarks, username);
            return TJson.toJson(mes);
        }
        #endregion
@@ -677,40 +694,28 @@
        }
        #endregion
        #region[生产开报工,工序检验扫码获取任务信息]
        #region[工序检验扫码获取任务信息]
        /// <summary>
        /// 生产开报工,工序检验扫码获取任务信息
        /// 工序检验扫码获取任务信息
        /// </summary>
        /// <param name="orderstepqrcode">扫描二维码信息</param>
        /// <param name="orderstepqrcode">扫描工序二维码信息</param>
        /// <param name="checktype">检验方式FirstCheck(首检) PatroCheck(巡检)  EndCheck(完工检)</param>
        /// <returns></returns>
        [Route(template: "MesOrderStepCheckSearch")]
        [HttpGet]
        public HttpResponseMessage MesOrderStepCheckSearch(string orderstepqrcode)
        public HttpResponseMessage MesOrderStepCheckSearch(string orderstepqrcode, string checktype)
        {
            mes = ProductionManagementBLL.MesOrderStepCheckSearch(orderstepqrcode);
            mes = ProductionManagementBLL.MesOrderStepCheckSearch(orderstepqrcode, checktype);
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产开报工,工序检验获取检验标准下拉框数据]
        #region[工序检验根据选择的检验方案查找检验项目]
        /// <summary>
        /// 生产开报工,工序检验获取检验标准下拉框数据
        /// 入厂检验,工序检验根据选择的检验方案查找检验项目
        /// </summary>
        /// <returns></returns>
        [Route(template: "MesOrderStepCheckSelect")]
        [HttpGet]
        public HttpResponseMessage MesOrderStepCheckSelect()
        {
            mes = ProductionManagementBLL.MesOrderStepCheckSelect();
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产开报工,工序检验根据检验标准获取检验项目列表]
        /// <summary>
        /// 生产开报工,工序检验根据检验标准获取检验项目列表
        /// </summary>
        /// <param name="checkstandcode">检验标准编码</param>
        /// <param name="checkstandcode">检验方案编码</param>
        /// <returns></returns>
        [Route(template: "MesOrderStepCheckItemList")]
        [HttpGet]
@@ -721,29 +726,29 @@
        }
        #endregion
        #region[生产开报工,工序检验提交保存]
        #region[工序检验,提交]
        /// <summary>
        /// 生产开报工,工序检验提交保存
        /// 工序检验,提交
        /// </summary>
        /// <param name="obj">提交信息</param>
        /// <returns></returns>
        [Route(template: "SaveMesOrderStepCheckItem")]
        [HttpPost]
        public HttpResponseMessage SaveMesOrderStepCheckItem([FromBody] JObject obj)
        {
            string mesordercode = obj["mesordercode"].ToString(); //工单编号
            string wocode = obj["wocode"].ToString(); //工单编号
            string partcode = obj["partcode"].ToString(); //产品编码
            string stepcode = obj["stepcode"].ToString(); //工序编码
            string checkstanedcode = obj["checkstanedcode"].ToString(); //检验标准编码
            string checkusercode = obj["checkusercode"].ToString(); //检验人员编码
            string checktypecode = obj["checktypecode"].ToString(); //检验类型编码
            string checkresult = obj["checkresult"].ToString(); //检验结果
            string checkdescr = obj["checkdescr"].ToString(); //检验描述
            string checkqty = obj["checkqty"].ToString(); //检验数量
            string data = obj["data"].ToString();
            List<StepCheck> json = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StepCheck>>(data);
            string checkstandcode = obj["checkstandcode"].ToString(); //质检方案编码
            string check_type = obj["check_type"].ToString(); //检验方式FirstCheck(首检) PatroCheck(巡检)  EndCheck(完工检)
            string sampmethod = obj["sampmethod"].ToString(); //抽检方式:固定抽检(FIXED) 比例抽检(SCARE)
            string qualitystatus = obj["qualitystatus"].ToString(); //质量状态(合格、不合格)
            string labqty = obj["good_qty"].ToString(); //工序任务合格数量
            string sampleqty = obj["sampleqty"].ToString(); //样本数量
            string goodqty = obj["goodqty"].ToString(); //合格数量
            string ngqty = obj["ngqty"].ToString();//不合格数量
            string checkitemcont = obj["checkitemcont"].ToString(); //检验项目数据
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ProductionManagementBLL.SaveMesOrderStepCheckItem(mesordercode, partcode, stepcode, checkstanedcode, checkusercode, checktypecode, checkresult, checkdescr, checkqty, username, json);
            mes = ProductionManagementBLL.SaveMesOrderStepCheckItem(wocode, partcode, stepcode, checkstandcode, check_type, sampmethod, qualitystatus, labqty, sampleqty, goodqty, ngqty, checkitemcont, username);
            return TJson.toJson(mes);
        }
        #endregion
@@ -771,9 +776,11 @@
        [HttpGet]
        public HttpResponseMessage MesOrderBitchClosedSearch(string mesorderstus = null, string mesordercode = null, string sourceorder = null, string ordertype = null, string partcode = null, string partname = null, string partspec = null, string creatuser = null, string createdate = null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            var stu_torgcode = HttpContext.Current.Request.Cookies["stu_torgcode"].Value.ToString(); //所属组织
            var stu_torgtypecode = HttpContext.Current.Request.Cookies["description"].Value.ToString(); //所属组织类型
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = ProductionManagementBLL.MesOrderBitchClosedSearch(mesorderstus, mesordercode, sourceorder, ordertype, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
            mes = ProductionManagementBLL.MesOrderBitchClosedSearch(stu_torgcode, stu_torgtypecode,mesorderstus, mesordercode, sourceorder, ordertype, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
@@ -1075,5 +1082,97 @@
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产入库条码补打]
        /// <summary>
        /// 生产入库条码补打
        /// </summary>
        /// <param name="ordercode">工单编号</param>
        /// <returns></returns>
        [Route(template: "ProductInHouseLabCode")]
        [HttpGet]
        public HttpResponseMessage ProductInHouseLabCode(string ordercode)
        {
            mes = ProductionManagementBLL.ProductInHouseLabCode(ordercode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产入库通过车间查找生产订单]
        /// <summary>
        /// 生产入库通过车间查找生产订单
        /// </summary>
        /// <param name="ordertype">单据类型</param>
        /// <param name="wkshopcode">车间编码</param>
        /// <returns></returns>
        [Route(template: "ProductInHouseWkshopOrder")]
        [HttpGet]
        public HttpResponseMessage ProductInHouseWkshopOrder(string ordertype,string wkshopcode)
        {
            mes = ProductionManagementBLL.ProductInHouseWkshopOrder(ordertype, wkshopcode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产入库信息查询]
        /// <summary>
        /// 生产入库信息查询
        /// </summary>
        /// <param name="wkshopcode">车间编码</param>
        /// <param name="erpordercode">订单编号</param>
        /// <param name="mesordercode">工单编号</param>
        /// <param name="partcode">产品编码</param>
        /// <param name="partname">产品名称</param>
        /// <param name="partspec">规格型号</param>
        /// <param name="orderdate">工单日期</param>
        /// <returns></returns>
        [Route(template: "ProductInHouseOrderSearch")]
        [HttpGet]
        public HttpResponseMessage ProductInHouseOrderSearch(string wkshopcode, string erpordercode = null, string mesordercode = null, string partcode = null, string partname = null, string partspec = null, string orderdate = null)
        {
            string startorderdate = "";  //工单开始时间
            string endorderdate = "";    //工单结束时间
            if (orderdate != "" && orderdate != null)
            {
                startorderdate = orderdate.Split('~')[0].ToString();
                endorderdate = orderdate.Split('~')[1].ToString();
            }
            mes = ProductionManagementBLL.ProductInHouseOrderSearch(wkshopcode,erpordercode, mesordercode, partcode, partname, partspec, startorderdate, endorderdate);
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产入库获取单据号]
        /// <summary>
        /// 生产入库获取单据号
        /// </summary>
        /// <param name="rightcode">功能编码</param>
        /// <returns></returns>
        [Route(template: "ProductInHouseOrderCodeSearch")]
        [HttpPost]
        public HttpResponseMessage ProductInHouseOrderCodeSearch(string rightcode)
        {
            mes = ProductionManagementBLL.ProductInHouseOrderCodeSearch(rightcode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产入库提交]
        /// <summary>
        /// 生产入库提交
        /// </summary>
        /// <param name="obj">明细数据</param>
        /// <returns></returns>
        [Route(template: "ProductInHouseOrderSeave")]
        [HttpPost]
        public HttpResponseMessage ProductInHouseOrderSeave([FromBody] JObject obj)
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ProductionManagementBLL.ProductInHouseOrderSeave(username, obj);
            return TJson.toJson(mes);
        }
        #endregion
    }
}