public ActionResult Query(WorkOrderViewModel model) { MethodReturnResult ReturnResult = new MethodReturnResult(); using (ERPClient client = new ERPClient()) { MethodReturnResult <DataSet> result = client.GetERPWorkOrder(model.OrderNumber); if (result.Code == 0) { if (result.Data.Tables[0].Rows.Count <= 0) { ReturnResult.Code = 1001; ReturnResult.Message = string.Format(StringResource.ERPWorkOrderQuery_Error_Query, model.OrderNumber); } } else { ReturnResult.Code = result.Code; ReturnResult.Message = result.Message; } } return(Json(ReturnResult)); }
/// <summary> 取得ERP工单信息 </summary> /// <param name="OrderNumber"></param> /// <returns></returns> public async Task <ActionResult> Detail(string OrderNumber) { MethodReturnResult <ERPWorkOrderController> result = new MethodReturnResult <ERPWorkOrderController>(); WorkOrderViewModel model = new WorkOrderViewModel(); try { string strWOState = ""; string strERPOrderType = ""; string strOrderType = ""; string strERPDept = ""; string strLocationName = ""; MethodReturnResult <DataSet> resultWO = new MethodReturnResult <DataSet>(); using (ERPClient client = new ERPClient()) { //取得ERP工单信息 await Task.Run(() => { resultWO = client.GetERPWorkOrder(OrderNumber); }); if (resultWO.Code == 0 && resultWO.Data.Tables[0].Rows.Count > 0) { //根据ERP工单状态取得MES工单状态 strWOState = resultWO.Data.Tables[0].Rows[0]["FBILLSTATE"].ToString(); //ERP工单状态 //订单需要是投放状态(自由 - -1、审批 - 1、投放 - 2、完工 - 3、关闭 - 4) if (strWOState != "2") { result.Code = 1002; result.Message = "订单需要为投放状态!"; result.Detail = ""; } //根据ERP工单类型取得MES工单类型 strERPOrderType = resultWO.Data.Tables[0].Rows[0]["VTRANTYPECODE"].ToString(); //ERP工单类型 strOrderType = model.GetMESOrderType(strERPOrderType); //根据ERP部门代码取得MES对应的工厂代码 strERPDept = resultWO.Data.Tables[0].Rows[0]["CJCODE"].ToString(); strLocationName = model.GetLocationName(strERPDept); model.OrderNumber = resultWO.Data.Tables[0].Rows[0]["VBILLCODE"].ToString(); //工单号 model.OrderType = strOrderType; //工单类型 model.MaterialCode = resultWO.Data.Tables[0].Rows[0]["MATERIALCODE"].ToString(); //物料代码 model.ERPWorkOrderKey = resultWO.Data.Tables[0].Rows[0]["PK_DMO"].ToString(); //ERP工单号主键 model.OrderQuantity = Convert.ToDouble(resultWO.Data.Tables[0].Rows[0]["NNUM"].ToString()); //数量 model.LocationName = strLocationName; //生产车间 model.PlanStartTime = DateTime.Parse(resultWO.Data.Tables[0].Rows[0]["TPLANSTARTTIME"].ToString()); //计划开始日期 model.PlanFinishTime = DateTime.Parse(resultWO.Data.Tables[0].Rows[0]["TPLANENDTIME"].ToString()); //计划结束日期 model.Description = resultWO.Data.Tables[0].Rows[0]["VNOTE"].ToString(); //备注 } ViewBag.WorkOrder = model; } } catch (Exception e) { result.Code = 1002; result.Message = e.Message; result.Detail = e.ToString(); return(Json(result)); } return(View(model)); //MethodReturnResult<ERPWorkOrderController> result = new MethodReturnResult<ERPWorkOrderController>(); //WorkOrderViewModel model = new WorkOrderViewModel(); //try //{ // string strWOState = ""; // using (ERPClient client = new ERPClient()) // { // await Task.Run(() => // { // //取得ERP工单信息 // MethodReturnResult<DataSet> resultWO = client.GetERPWorkOrder(OrderNumber); // if (resultWO.Code == 0 && resultWO.Data.Tables[0].Rows.Count > 0) // { // model.OrderNumber = resultWO.Data.Tables[0].Rows[0]["VBILLCODE"].ToString(); //工单号 // model.MaterialCode = resultWO.Data.Tables[0].Rows[0]["MATERIALCODE"].ToString(); //物料代码 // //根据ERP工单状态取得MES工单状态 // strWOState = resultWO.Data.Tables[0].Rows[0]["FBILLSTATUS"].ToString(); //工单状态 // //订单需要是投放状态(自由 - -1、审批 - 1、投放 - 2、完工 - 3、关闭 - 4) // if (strWOState != "2") // { // result.Code = 1002; // result.Message = "订单需要为投放状态!"; // result.Detail = ""; // //return Json(result); // } // //model.OrderState = resultWO.Data.Tables[0].Rows[0]["FBILLSTATUS"].ToString(); //工单状态 // model.OrderType = resultWO.Data.Tables[0].Rows[0]["MATERIALTYPE"].ToString(); //工单类型 // model.OrderQuantity = Convert.ToDouble(resultWO.Data.Tables[0].Rows[0]["NNUM"].ToString()); //数量 // model.LocationName = resultWO.Data.Tables[0].Rows[0]["CJNAME"].ToString(); //生产车间 // model.PlanStartTime = DateTime.Parse(resultWO.Data.Tables[0].Rows[0]["TPLANSTARTTIME"].ToString()); //计划开始日期 // model.PlanFinishTime = DateTime.Parse(resultWO.Data.Tables[0].Rows[0]["TPLANENDTIME"].ToString()); //计划结束日期 // } // }); // ViewBag.WorkOrder = model; // } //} //catch (Exception e) //{ // result.Code = 1002; // result.Message = e.Message; // result.Detail = e.ToString(); // return Json(result); //} //return View(model); }