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 columnNameList = new List(); //查看权限 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 columnNameList = new List(); //查看权限 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 } }