using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web; using System.Web.Http; using VueWebApi.DLL.BLL; using VueWebApi.Models; using VueWebApi.Tools; namespace VueWebApi.Controllers { [RoutePrefix(prefix: "api/AppProductionManagement")] [ControllerGroup("App生产管理", "在线接口")] [ChannelActionFilterAttributeApp] public class AppProductionManagementController : ApiController { //定义全局信息返回变量 ToMessage mes = new ToMessage(); RedisHelper redis = new RedisHelper(); #region [生产开报工:开工(开始/报工)/外协(发料/收料)时条件判断及数据返回接口] /// /// 生产开报工:开工(开始/报工)/外协(发料/收料)时条件判断及数据返回接口 /// /// 所属组织编码 /// 操作类型:自制(ZZ)/外协(WX) /// 操作类型:外协发料标识(OUT)/外协收料标识(IN) /// 扫描二维码信息 /// [Route(template: "MesOrderStepStart")] [HttpGet] public HttpResponseMessage MesOrderStepStart(string stu_torgcode, string OperType, string orderstepqrcode, string SelectType = null) { mes = ProductionManagementBLL.MesOrderStepStart(OperType, stu_torgcode, SelectType, orderstepqrcode); return TJson.toJson(mes); } #endregion #region[生产开报工:开工时获取设备下拉列表] /// /// 生产开报工:开工时获取设备下拉列表 /// /// 扫描二维码信息 /// [Route(template: "MesOrderStepStartSelectEqp")] [HttpGet] public HttpResponseMessage MesOrderStepStartSelectEqp(string orderstepqrcode) { mes = ProductionManagementBLL.MesOrderStepStartSelectEqp(orderstepqrcode); return TJson.toJson(mes); } #endregion #region[生产开报工:报工时获取生产班组下拉框] /// /// 生产开报工:报工时获取生产班组下拉框 /// /// 组织编码 /// 组织类型 /// 车间编码 /// [Route(template: "MesOrderStepReportSelectUserGroup")] [HttpGet] public HttpResponseMessage MesOrderStepReportSelectUserGroup(string stu_torgcode,string stu_torgtypecode, string wkshopcode) { mes = ProductionManagementBLL.MesOrderStepReportSelectUserGroup(stu_torgcode, stu_torgtypecode,wkshopcode); return TJson.toJson(mes); } #endregion #region[生产开报工:根据生产班组查找人员列表] /// /// 生产开报工:根据生产班组查找人员列表 /// /// 组织编码 /// 班组编码 /// [Route(template: "MesOrderGroupSelectUser")] [HttpGet] public HttpResponseMessage MesOrderGroupSelectUser(string stu_torgcode, string usergroupcode) { mes = ProductionManagementBLL.MesOrderGroupSelectUser(stu_torgcode,usergroupcode); return TJson.toJson(mes); } #endregion #region[生产开报工:人员下拉列表] /// /// 生产开报工:人员下拉列表 /// /// 人员编码 /// [Route(template: "MesOrderSelectUser")] [HttpGet] public HttpResponseMessage MesOrderSelectUser(string usercode = null) { mes = ProductionManagementBLL.MesOrderSelectUser(usercode); return TJson.toJson(mes); } #endregion #region[生产开报工:发料/收料时获取外协下拉列表] /// /// 生产开报工:发料/收料时获取外协下拉列表 /// /// 扫描二维码信息 /// [Route(template: "MesOrderStepSelectWX")] [HttpGet] public HttpResponseMessage MesOrderStepSelectWX(string orderstepqrcode) { mes = ProductionManagementBLL.MesOrderStepSelectWX(orderstepqrcode); return TJson.toJson(mes); } #endregion #region[生产报工:报工/外协收料 获取不良原因下拉列表] /// /// 生产报工:报工/外协收料 获取不良原因下拉列表 /// /// 扫描二维码信息 /// [Route(template: "MesOrderStepSelectCause")] [HttpGet] public HttpResponseMessage MesOrderStepSelectCause(string orderstepqrcode) { mes = ProductionManagementBLL.MesOrderStepSelectCause(orderstepqrcode); return TJson.toJson(mes); } #endregion #region[生产开报工,开工提交] /// /// 生产开报工,开工提交 /// /// 开工提交数据 /// [Route(template: "SavaMesOrderStepStart")] [HttpPost] public HttpResponseMessage SavaMesOrderStepStart() { string mesordercode = HttpContext.Current.Request["mesordercode"].ToString();//工单编号 string partcode = HttpContext.Current.Request["partcode"].ToString();//产品编码 string stepseq = HttpContext.Current.Request["stepseq"].ToString();//工序序号 string stepcode = HttpContext.Current.Request["stepcode"].ToString();//工序编码 string eqpcode = HttpContext.Current.Request["eqpcode"].ToString();//设备编码 string taskqty = HttpContext.Current.Request["taskqty"].ToString();//任务数量 string startqty = HttpContext.Current.Request["startqty"].ToString();//开工数量 var username = HttpContext.Current.Request["admin"].ToString(); //开工人员 mes = ProductionManagementBLL.SavaMesOrderStepStart(mesordercode, partcode, stepseq, stepcode, eqpcode, taskqty, startqty, username); return TJson.toJson(mes); } #endregion #region[生产开报工,报工提交] /// /// 生产开报工,报工提交 /// /// 报工提交数据 /// [Route(template: "SavaMesOrderStepReport")] [HttpPost] public HttpResponseMessage SavaMesOrderStepReport() { string mesordercode = HttpContext.Current.Request["mesordercode"].ToString();//工单编号 string partcode = HttpContext.Current.Request["partcode"].ToString();//产品编码 string stepseq = HttpContext.Current.Request["stepseq"].ToString();//工序序号 string stepcode = HttpContext.Current.Request["stepcode"].ToString();//工序编码 string eqpcode = HttpContext.Current.Request["eqpcode"].ToString();//设备编码 string inbarcode = HttpContext.Current.Request["inbarcode"].ToString(); //入库条码 string reckway = HttpContext.Current.Request["reckway"].ToString(); //计件方式(班组:group、个人:person) string usergroupcode = HttpContext.Current.Request["usergroupcode"].ToString();//班组编码 string reportuser = HttpContext.Current.Request["reportuser"].ToString();//报工人员 string taskqty = HttpContext.Current.Request["taskqty"].ToString();//任务数量 string startqty = HttpContext.Current.Request["startqty"].ToString();//开工数量 string reportqty = HttpContext.Current.Request["reportqty"].ToString();//报工工数量 string defectlist = HttpContext.Current.Request["defectlist"].ToString();//不良汇总 string remarks = HttpContext.Current.Request["remarks"].ToString();//备注 string username = HttpContext.Current.Request["admin"].ToString();//操作人员 List defectobjs = JsonConvert.DeserializeObject>(defectlist); mes = ProductionManagementBLL.SavaMesOrderStepReport(mesordercode, partcode, stepseq, stepcode, eqpcode, inbarcode, reckway,usergroupcode, reportuser, taskqty, startqty, reportqty, defectobjs, remarks, username); return TJson.toJson(mes); } #endregion #region[生产开报工,发料提交] /// /// 生产开报工,发料提交 /// /// 发料提交数据 /// [Route(template: "SavaMesOrderStepOut")] [HttpPost] public HttpResponseMessage SavaMesOrderStepOut() { string mesordercode = HttpContext.Current.Request["mesordercode"].ToString();//工单编号 string partcode = HttpContext.Current.Request["partcode"].ToString();//产品编码 string stepseq = HttpContext.Current.Request["stepseq"].ToString();//工序序号 string stepcode = HttpContext.Current.Request["stepcode"].ToString();//工序编码 string wxcode = HttpContext.Current.Request["wxcode"].ToString();//外协供应商编码 string outuser = HttpContext.Current.Request["outuser"].ToString();//发料人员 string taskqty = HttpContext.Current.Request["taskqty"].ToString();//任务数量 string fqty = HttpContext.Current.Request["fqty"].ToString();//发料数量 string username = HttpContext.Current.Request["admin"].ToString();//操作人员 mes = ProductionManagementBLL.SavaMesOrderStepOut(mesordercode, partcode, stepseq, stepcode, wxcode, outuser, taskqty, fqty, username); return TJson.toJson(mes); } #endregion #region[生产开报工,收料提交] /// /// 生产开报工,收料提交 /// /// 收料提交数据 /// [Route(template: "SavaMesOrderStepIn")] [HttpPost] public HttpResponseMessage SavaMesOrderStepIn() { string mesordercode = HttpContext.Current.Request["mesordercode"].ToString();//工单编号 string partcode = HttpContext.Current.Request["partcode"].ToString();//产品编码 string stepseq = HttpContext.Current.Request["stepseq"].ToString();//工序序号 string stepcode = HttpContext.Current.Request["stepcode"].ToString();//工序编码 string wxcode = HttpContext.Current.Request["wxcode"].ToString();//外协供应商编码 string inbarcode = HttpContext.Current.Request["inbarcode"].ToString(); //入库条码 string inuser = HttpContext.Current.Request["inuser"].ToString();//收料人员 string taskqty = HttpContext.Current.Request["taskqty"].ToString();//任务数量 string sqty = HttpContext.Current.Request["sqty"].ToString();//收料数量 string defectlist = HttpContext.Current.Request["defectlist"].ToString();//不良汇总 string remarks = HttpContext.Current.Request["remarks"].ToString();//备注 string username = HttpContext.Current.Request["admin"].ToString();//操作人员 List defectobjs = JsonConvert.DeserializeObject>(defectlist); mes = ProductionManagementBLL.SavaMesOrderStepIn(mesordercode, partcode, stepseq, stepcode, wxcode, inbarcode, inuser, taskqty, sqty, defectobjs, remarks, username); return TJson.toJson(mes); } #endregion #region[生产入库扫描条码] /// /// 生产入库扫描条码 /// /// 条码编号 /// [Route(template: "MesAppProductInHouseOrderBarCodeSearch")] [HttpGet] public HttpResponseMessage MesAppProductInHouseOrderBarCodeSearch(string labcode) { mes = ProductionManagementBLL.MesAppProductInHouseOrderBarCodeSearch(labcode); return TJson.toJson(mes); } #endregion #region[生产入库扫描条码提交] /// /// 生产入库扫描条码提交 /// /// 操作人员 /// 提交数据 /// [Route(template: "MesAppProductInHouseOrderBarCodeSave")] [HttpPost] public HttpResponseMessage MesAppProductInHouseOrderBarCodeSave(string username, [FromBody] JObject obj) { mes = ProductionManagementBLL.ProductInHouseOrderSeave(username, obj); return TJson.toJson(mes); } #endregion } }