using Newtonsoft.Json.Linq; using Pub_Class; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Web.Http; using WebAPI.Models; namespace WebAPI.Controllers { public class Sc_ProcessMangementController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; private json objJsonResult = new json(); /// ///封装状态码及返回信息的公用方法。 ///参数:DataSet。 ///返回值:json。 /// public object GetObjectJson(DataSet ds) { try { if (ds == null || ds.Tables[0].Rows.Count <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "获取信息成功!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } /// ///统一正确信息方法。 ///参数:string。 ///返回值:object。 /// public object CustomCorrect(DataSet ds) { if (ds == null || ds.Tables[0].Rows.Count <= 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "获取信息成功!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } } /// ///自定义错误信息方法。 ///参数:string。 ///返回值:object。 /// public object CustomError(string msg) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = msg; objJsonResult.data = null; return objJsonResult; } /// /// 返回生产汇报单列表 ///参数:string sql。 ///返回值:object。 /// [Route("Sc_ProcessMangement/MES_Sc_ProcessReportList_Json")] [HttpGet] public object MES_Sc_ProcessReportList_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessReportList ", "h_v_Sc_ProcessReportList"); } else { string sql1 = "select * from h_v_Sc_ProcessReportList where 1 = 1 "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessReportList"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 返回生产工序计划单列表 ///参数:string sql。 ///返回值:object。 /// [Route("Sc_ProcessMangement/MES_Sc_ProcessPlanMain_Json")] [HttpGet] public object MES_Sc_ProcessPlanMain_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessPlanList ", "h_v_Sc_ProcessPlanList"); } else { string sql1 = "select * from h_v_Sc_ProcessPlanList where 1 = 1 "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessPlanList"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 返回生产工序派工单列表 /// /// /// [Route("Sc_ProcessMangement/MES_Sc_ProcessSendWorkMain_Json")] [HttpGet] public object MES_Sc_ProcessSendWorkMain_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessSendWorkList ", "h_v_Sc_ProcessSendWorkList"); } else { string sql1 = "select * from h_v_Sc_ProcessSendWorkList where 1 = 1 "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessSendWorkList"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 保存派工单信息 /// /// /// [Route("SaveProcessSendWork")] [HttpPost] public object SaveProcessSendWork([FromBody]JObject msg) { var _value = msg["msg"].ToString(); string msg1 = _value.ToString(); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); string UserName = ""; ListModels oListModels = new ListModels(); try { DAL.ClsSc_ProcessSendWork Sendwork = new DAL.ClsSc_ProcessSendWork(); List lsmain = new List(); msg2 = msg2.Replace("\\", ""); msg2 = msg2.Replace("\n", ""); lsmain = oListModels.getObjectByJson_SendWorkMain(msg2); foreach ( Model.ClsSc_ProcessSendWorkMain oItem in lsmain) { UserName = oItem.HMaker; oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd")); oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); oItem.HDate = DateTime.Now; oItem.HMainSourceInterID = oItem.HInterID; oItem.HInterID = 0; if (DBUtility.ClsPub.isStrNull(oItem.HPlanBeginDate) == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!没有填写计划开工日期,无法保存!"; objJsonResult.data = 1; return objJsonResult; } Sendwork.omodel = oItem; } //表体数据 //按 },{来拆分数组 //去掉【和】 msg3 = msg3.Substring(1, msg3.Length - 2); msg3 = msg3.Replace("\\", ""); msg3 = msg3.Replace("\n", ""); //\n List ls = new List(); ls = oListModels.getObjectByJson_SendWorkSub(msg3); int i = 0; Model.ClsSc_ProcessSendWorkSub sendworksub = new Model.ClsSc_ProcessSendWorkSub(); foreach (WebAPI.Models.Sc_ProcessPlanViewModel oItemSub in ls) { //foreach (var item in collection) //{ //} //i++; //if (oItemSub.HQty <= 0) //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不大于0无法保存!"; // objJsonResult.data = 1; // return objJsonResult; //} //if (oItemSub.HQty > oItemSub.HRelationQty) //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "保存失败!第" + i.ToString() + "行数量不能大于未关联数量!"; // objJsonResult.data = 1; // return objJsonResult; //} //if (DBUtility.ClsPub.isStrNull(oItemSub.HBatChNo) == "") //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "保存失败!第" + i.ToString() + "行未填写批号!"; // objJsonResult.data = 1; // return objJsonResult; //} //oItemSub.HEntryID = i; //oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); //oItemSub.HRemark = ""; //oItemSub.HCloseMan = ""; //oItemSub.HCloseType = false; //Sendwork.DetailColl.Add(oItemSub); } //保存 //保存完毕后处理 bool bResult; if (Sendwork.omodel.HInterID == 0) { // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); bResult = Sendwork.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); } else { bResult = Sendwork.ModifyBill(Sendwork.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); } if (bResult) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "保存成功!"; //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); objJsonResult.data = 1; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = 1; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + e.ToString(); objJsonResult.data = 1; return objJsonResult; } } /// /// 返回委外工单列表 /// /// /// [Route("Sc_ProcessMangement/MES_WW_EntrustWorkOrderBillMain_Json")] [HttpGet] public object MES_WW_EntrustWorkOrderBillMain_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from WW_EntrustWorkOrderBillMain ", "WW_EntrustWorkOrderBillMain"); } else { string sql1 = "select * from WW_EntrustWorkOrderBillMain where 1 = 1 "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "WW_EntrustWorkOrderBillMain"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } /// /// 返回委外工序汇报单列表 /// /// /// [Route("Sc_ProcessMangement/MES_Sc_StationOutBillMain_Json")] [HttpGet] public object MES_Sc_StationOutBillMain_Json(string sWhere) { DataSet ds; try { SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select top 500 * from Sc_StationOutBillMain ", "Sc_StationOutBillMain"); } else { string sql1 = "select * from Sc_StationOutBillMain where 1 = 1 "; string sql = sql1 + sWhere; ds = oCN.RunProcReturn(sql, "Sc_StationOutBillMain"); } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有返回任何记录!" + e.ToString(); objJsonResult.data = null; return objJsonResult; } return GetObjectJson(ds); } // } }