| using Newtonsoft.Json.Linq; | 
| using System; | 
| using System.Collections.Generic; | 
| using System.Data; | 
| using System.Linq; | 
| using System.Web; | 
| using System.Web.Http; | 
| using WebAPI.Models; | 
| using Newtonsoft.Json; | 
|   | 
| namespace WebAPI.Controllers.SCGL | 
| { | 
|     public class Sc_WorkBillMonthPlanController : ApiController | 
|     { | 
|         private json objJsonResult = new json(); | 
|         public DataSet ds = new DataSet(); | 
|         public WebServer webserver = new WebServer(); | 
|         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); | 
|   | 
|         #region 月度计划  查询生产订单信息 | 
|         [Route("Sc_WorkBillMonthPlan/Sc_WorkBillMonthPlan")] | 
|         [HttpGet] | 
|         public object Sc_WorkBillMonthPlan(string sWhere, string user) | 
|         { | 
|             try | 
|             { | 
|                 List<object> columnNameList = new List<object>(); | 
|                 //查看权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBillQuery", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无查看权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 ds = oCN.RunProcReturn("select * from  h_v_SC_ICMOBillPlanList where 1=1" + sWhere + "order by 日期 desc ", "h_v_SC_ICMOBillPlanList"); | 
|   | 
|                 //添加列名 | 
|                 foreach (DataColumn col in ds.Tables[0].Columns) | 
|                 { | 
|                     Type dataType = col.DataType; | 
|                     string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; | 
|                     columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 objJsonResult.list = columnNameList; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 月度计划 查询已派单月度计划信息 | 
|         [Route("Sc_WorkBillMonthPlan/Sc_WorkBillMonthPlanList")] | 
|         [HttpGet] | 
|         public object Sc_WorkBillMonthPlanList(string sWhere, string user) | 
|         { | 
|             try | 
|             { | 
|                 List<object> columnNameList = new List<object>(); | 
|                 //查看权限 | 
|                 if (!DBUtility.ClsPub.Security_Log("Sc_ICMOBillQuery", 1, false, user)) | 
|                 { | 
|                     objJsonResult.code = "0"; | 
|                     objJsonResult.count = 0; | 
|                     objJsonResult.Message = "无查看权限!"; | 
|                     objJsonResult.data = null; | 
|                     return objJsonResult; | 
|                 } | 
|   | 
|                 ds = oCN.RunProcReturn("select * from  h_v_SC_WorkBillMonthPlanList where 1=1" + sWhere + "order by 日期 desc ", "h_v_SC_WorkBillMonthPlanList"); | 
|   | 
|                 //添加列名 | 
|                 foreach (DataColumn col in ds.Tables[0].Columns) | 
|                 { | 
|                     Type dataType = col.DataType; | 
|                     string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; | 
|                     columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 | 
|                 } | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "Sucess!"; | 
|                 objJsonResult.data = ds.Tables[0]; | 
|                 objJsonResult.list = columnNameList; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 月度计划 排单 | 
|         [Route("Sc_WorkBillMonthPlan/Add_WorkBillMonthPlanList")] | 
|         [HttpPost] | 
|         public object Add_WorkBillMonthPlanList([FromBody] JObject msg) | 
|         { | 
|             try | 
|             { | 
|                 var _value = msg["msg"].ToString(); | 
|                 string msg1 = _value.ToString(); | 
|                 string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); | 
|                 string msg2 = sArray[0].ToString();                             //生产订单id | 
|                 string msg3 = sArray[1].ToString();                             //部门 | 
|                 string user = sArray[2].ToString();                           //用户 | 
|   | 
|                 string[] data = msg2.Split(','); | 
|   | 
|                 for (int i = 0; i < data.Length; i++) | 
|                 { | 
|                     oCN.BeginTran(); | 
|   | 
|                     string[] datas = data[i].Split('_'); | 
|                     string HInterID = datas[0]; | 
|                     string HEntryID = datas[1]; | 
|   | 
|                     ds = oCN.RunProcReturn("select * from h_v_SC_ICMOBillPlanList where HInterID=" + HInterID + " and HEntryID=" + HEntryID, "h_v_SC_ICMOBillPlanList"); | 
|   | 
|                     if (ds.Tables[0].Rows.Count > 0) | 
|                     { | 
|                         Int64 HInterIDs = DBUtility.ClsPub.CreateBillID("3703", ref DBUtility.ClsPub.sExeReturnInfo); | 
|                         string HBillNo = DBUtility.ClsPub.CreateBillCode("3703", ref DBUtility.ClsPub.sExeReturnInfo, true); | 
|                         int HDeptID = int.Parse(ds.Tables[0].Rows[0]["HDeptID"].ToString()); | 
|                         int HMaterID = int.Parse(ds.Tables[0].Rows[0]["HMaterID"].ToString()); | 
|                         int HUnitID = int.Parse(ds.Tables[0].Rows[0]["HUnitID"].ToString()); | 
|                         DateTime HPlanBeginDate = DateTime.Parse(ds.Tables[0].Rows[0]["HPlanBeginDate"].ToString()); | 
|                         DateTime HPlanEndDate = DateTime.Parse(ds.Tables[0].Rows[0]["HPlanEndDate"].ToString()); | 
|                         double HPlanQty = double.Parse(ds.Tables[0].Rows[0]["数量"].ToString()); | 
|                         string HICMOStatus = ds.Tables[0].Rows[0]["HSTATUS"].ToString(); | 
|                         string HICMOInterID = ds.Tables[0].Rows[0]["HInterID"].ToString(); | 
|                         string HICMOEntryID = ds.Tables[0].Rows[0]["HEntryID"].ToString(); | 
|                         string HICMOBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString(); | 
|                         string HSeOrderBillNo = ds.Tables[0].Rows[0]["HSeOrderBillNo"].ToString(); | 
|                         string HSeOrderInterID = ds.Tables[0].Rows[0]["HSeOrderInterID"].ToString(); | 
|                         string HSeOrderEntryID = ds.Tables[0].Rows[0]["HSeOrderEntryID"].ToString(); | 
|   | 
|                         oCN.RunProc($@"insert into Sc_WorkBillMonthPlanBillMain(HInterID,HBillNo,HDate,HYear,HPeriod,HBillType,HBillSubType,HBillStatus,HMaker,HMakeDate | 
| , HDeptID, HMaterID, HUnitID, HPlanBeginDate, HPlanEndDate, HPlanQty | 
| , HICMOStatus, HICMOInterID, HICMOEntryID, HICMOBillNo, HSeOrderBillNo, HSeOrderInterID, HSeOrderEntryID) | 
| values({HInterIDs}, '{HBillNo}', GETDATE(), year(GETDATE()), month(GETDATE()), '3703', '3703', '1', '{user}', GETDATE(), | 
| {HDeptID}, {HMaterID}, {HUnitID}, '{HPlanBeginDate}', '{HPlanEndDate}', {HPlanQty} | 
| , '{HICMOStatus}', {HICMOInterID},{HICMOEntryID}, '{HICMOBillNo}', '{HSeOrderBillNo}', {HSeOrderInterID}, {HSeOrderEntryID})"); | 
|   | 
|                         oCN.Commit(); | 
|   | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "第"+(i+1)+"行,生产订单查无数据!"; | 
|                         objJsonResult.data = null; | 
|                         oCN.RollBack(); | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "保存成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|   | 
|         #region 月度计划 取消排单 | 
|         [Route("Sc_WorkBillMonthPlan/DelWorkBillMonthPlanList")] | 
|         [HttpGet] | 
|         public object DelWorkBillMonthPlanList(string HInterID,string user) | 
|         { | 
|             try | 
|             { | 
|                 string[] data = HInterID.Split(','); | 
|   | 
|                 for (int i = 0; i < data.Length; i++) | 
|                 { | 
|                     oCN.BeginTran(); | 
|   | 
|                     string HInterIDs = data[i]; | 
|   | 
|                     ds = oCN.RunProcReturn("select * from h_v_SC_WorkBillMonthPlanList where HInterID=" + HInterIDs, "h_v_SC_WorkBillMonthPlanList"); | 
|   | 
|                     if (ds.Tables[0].Rows.Count > 0) | 
|                     { | 
|                         oCN.RunProc("delete from Sc_WorkBillMonthPlanBillMain where HInterID=" + HInterIDs); | 
|   | 
|                         oCN.Commit(); | 
|                     } | 
|                     else | 
|                     { | 
|                         objJsonResult.code = "0"; | 
|                         objJsonResult.count = 0; | 
|                         objJsonResult.Message = "第" + (i + 1) + "行,月度计划查无数据!"; | 
|                         objJsonResult.data = null; | 
|                         oCN.RollBack(); | 
|                         return objJsonResult; | 
|                     } | 
|                 } | 
|   | 
|                 objJsonResult.code = "1"; | 
|                 objJsonResult.count = 1; | 
|                 objJsonResult.Message = "删除成功!"; | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|             catch (Exception e) | 
|             { | 
|                 objJsonResult.code = "0"; | 
|                 objJsonResult.count = 0; | 
|                 objJsonResult.Message = "Exception!" + e.ToString(); | 
|                 objJsonResult.data = null; | 
|                 return objJsonResult; | 
|             } | 
|         } | 
|         #endregion | 
|     } | 
| } |