yangle
2 天以前 9643928dccb5656708d0c7d5567e4185abf54928
WebAPI/Controllers/CJGL/Sc_ProcessSendWorkController.cs
@@ -1,253 +1,253 @@
using Newtonsoft.Json;
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;
//using Newtonsoft.Json;
//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_ProcessSendWorkController : ApiController
    {
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
//namespace WebAPI.Controllers
//{
//    public class Sc_ProcessSendWorkController : ApiController
//    {
//        private json objJsonResult = new json();
//        public DataSet ds = new DataSet();
//        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        #region 工序派工单 列表
        /// <summary>
        /// 工序派工单列表
        /// </summary>
        /// <returns></returns>
        [Route("Sc_ProcessSendWork/Sc_ProcessSendWorkList")]
        [HttpGet]
        public object Sc_ProcessSendWorkList(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
//        #region 工序派工单 列表
//        /// <summary>
//        /// 工序派工单列表
//        /// </summary>
//        /// <returns></returns>
//        [Route("Sc_ProcessSendWork/Sc_ProcessSendWorkList")]
//        [HttpGet]
//        public object Sc_ProcessSendWorkList(string sWhere, string user)
//        {
//            try
//            {
//                List<object> columnNameList = new List<object>();
                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessSendWorkList where 1=1 " + sWhere, "h_v_Sc_ProcessSendWorkList");
//                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessSendWorkList where 1=1 " + sWhere, "h_v_Sc_ProcessSendWorkList");
                //添加列名
                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列对象的列名
                }
//                //添加列名
//                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 = "返回记录成功!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
//                objJsonResult.code = "1";
//                objJsonResult.count = 1;
//                objJsonResult.Message = "返回记录成功!";
//                objJsonResult.data = ds.Tables[0];
//                objJsonResult.list = columnNameList;
//                return objJsonResult;
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
//            }
//            catch (Exception ex)
//            {
//                objJsonResult.code = "0";
//                objJsonResult.count = 0;
//                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
//                objJsonResult.data = null;
//                return objJsonResult;
//            }
//        }
//        #endregion
        #region 工序派工单 保存/编辑
        /// <summary>
        /// 工序派工单 保存
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        [Route("Sc_ProcessSendWork/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 msg4 = sArray[2].ToString();
//        #region 工序派工单 保存/编辑
//        /// <summary>
//        /// 工序派工单 保存
//        /// </summary>
//        /// <param name="msg"></param>
//        /// <returns></returns>
//        [Route("Sc_ProcessSendWork/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 msg4 = sArray[2].ToString();
            string UserName = "";
            ListModels oListModels = new ListModels();
            try
            {
                DAL.ClsSc_ProcessSendWork oBill = new DAL.ClsSc_ProcessSendWork();
                List<Model.ClsSc_ProcessSendWorkMain> lsmain = new List<Model.ClsSc_ProcessSendWorkMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_ClsSc_ProcessSendWorkMain(msg2);
                foreach (Model.ClsSc_ProcessSendWorkMain oItem in lsmain)
                {
                    //oItem.HMaker = "";
                    UserName = oItem.HMaker;  //制单人
                    oItem.HBillType = "3712";
                    oItem.HBillSubType = "3712";
                    oItem.HBillStatus = 1;
                    DBUtility.ClsPub.CurUserName = UserName;
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
//            string UserName = "";
//            ListModels oListModels = new ListModels();
//            try
//            {
//                DAL.ClsSc_ProcessSendWork oBill = new DAL.ClsSc_ProcessSendWork();
//                List<Model.ClsSc_ProcessSendWorkMain> lsmain = new List<Model.ClsSc_ProcessSendWorkMain>();
//                msg2 = msg2.Replace("\\", "");
//                msg2 = msg2.Replace("\n", "");  //\n
//                lsmain = oListModels.getObjectByJson_ClsSc_ProcessSendWorkMain(msg2);
//                foreach (Model.ClsSc_ProcessSendWorkMain oItem in lsmain)
//                {
//                    //oItem.HMaker = "";
//                    UserName = oItem.HMaker;  //制单人
//                    oItem.HBillType = "3712";
//                    oItem.HBillSubType = "3712";
//                    oItem.HBillStatus = 1;
//                    DBUtility.ClsPub.CurUserName = UserName;
//                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    oBill.omodel = oItem;
                }
                //表体数据
                //按 },{来拆分数组 //去掉【和】
                msg3 = msg3.Substring(1, msg3.Length - 2);
                msg3 = msg3.Replace("\\", "");
                msg3 = msg3.Replace("\n", "");  //\n
                //msg2 = msg2.Replace("'", "’");
                List<Model.ClsSc_ProcessSendWorkSub> ls = new List<Model.ClsSc_ProcessSendWorkSub>();
                ls = oListModels.getObjectByJson_ClsSc_ProcessSendWorkSub(msg3);
                int i = 0;
                foreach (Model.ClsSc_ProcessSendWorkSub oItemSub in ls)
                {
//                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
//                    {
//                        objJsonResult.code = "0";
//                        objJsonResult.count = 0;
//                        objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
//                        objJsonResult.data = 1;
//                        return objJsonResult;
//                    }
//                    oBill.omodel = oItem;
//                }
//                //表体数据
//                //按 },{来拆分数组 //去掉【和】
//                msg3 = msg3.Substring(1, msg3.Length - 2);
//                msg3 = msg3.Replace("\\", "");
//                msg3 = msg3.Replace("\n", "");  //\n
//                //msg2 = msg2.Replace("'", "’");
//                List<Model.ClsSc_ProcessSendWorkSub> ls = new List<Model.ClsSc_ProcessSendWorkSub>();
//                ls = oListModels.getObjectByJson_ClsSc_ProcessSendWorkSub(msg3);
//                int i = 0;
//                foreach (Model.ClsSc_ProcessSendWorkSub oItemSub in ls)
//                {
                    i++;
                    oItemSub.HEntryID = i;
                    //oItemSub.HCloseMan = "";       //行关闭
                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    oItemSub.HCloseType = false;   //关闭类型
                    //oItemSub.HRemark = "";         //备注
                    oItemSub.HSourceInterID = 0;     // 源单主内码
                    oItemSub.HSourceEntryID = 0;   //源单子内码
                    //oItemSub.HSourceBillNo = "";  //源单单号
                    //oItemSub.HSourceBillType = ""; //源单类型
                    oItemSub.HRelationQty = 0;     //关联数量
                                                   //oItemSub.HRelationMoney = 0;   //关联金额
                                                   //HMaterID = "";//配件代码
                                                   //HUnitID = "";//单位代码
                                                   //HQty = "";//实际用量
                                                   //HQtyMust = "";//单位用量
                                                   //HRemark = "";//备注
//                    i++;
//                    oItemSub.HEntryID = i;
//                    //oItemSub.HCloseMan = "";       //行关闭
//                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
//                    oItemSub.HCloseType = false;   //关闭类型
//                    //oItemSub.HRemark = "";         //备注
//                    oItemSub.HSourceInterID = 0;     // 源单主内码
//                    oItemSub.HSourceEntryID = 0;   //源单子内码
//                    //oItemSub.HSourceBillNo = "";  //源单单号
//                    //oItemSub.HSourceBillType = ""; //源单类型
//                    oItemSub.HRelationQty = 0;     //关联数量
//                                                   //oItemSub.HRelationMoney = 0;   //关联金额
//                                                   //HMaterID = "";//配件代码
//                                                   //HUnitID = "";//单位代码
//                                                   //HQty = "";//实际用量
//                                                   //HQtyMust = "";//单位用量
//                                                   //HRemark = "";//备注
                    oBill.DetailColl.Add(oItemSub);
//                    oBill.DetailColl.Add(oItemSub);
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (oBill.omodel.HInterID == 0)
                {
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                if (bResult)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    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;
            }
        }
        #endregion
//                }
//                //保存
//                //保存完毕后处理
//                bool bResult;
//                if (oBill.omodel.HInterID == 0)
//                {
//                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
//                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
//                }
//                else
//                {
//                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
//                }
//                if (bResult)
//                {
//                    objJsonResult.code = "0";
//                    objJsonResult.count = 1;
//                    objJsonResult.Message = "保存成功!";
//                    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;
//            }
//        }
//        #endregion
        #region 工序派工单 删除
        /// <summary>
        /// 工序派工单删除
        /// </summary>
        /// <returns></returns>
        [Route("Sc_ProcessSendWork/DelProcessSendWork")]
        [HttpGet]
        public object DelProcessSendWork(string HInterID, string user)
        {
            Int64 lngBillKey = 0;
            lngBillKey = DBUtility.ClsPub.isLong(HInterID);
            if (lngBillKey == 0)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "单据ID为空!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            DAL.ClsSc_ProcessSendWork oBill = new DAL.ClsSc_ProcessSendWork();
            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
            {
                ds = oCN.RunProcReturn("select * from Sc_ProcessSendWorkMain where HInterID=" + lngBillKey, "Sc_ProcessSendWorkMain");
                if (int.Parse(ds.Tables[0].Rows[0]["HBillStatus"].ToString()) > 1)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据当前处于不能删除状态,不能删除!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
//        #region 工序派工单 删除
//        /// <summary>
//        /// 工序派工单删除
//        /// </summary>
//        /// <returns></returns>
//        [Route("Sc_ProcessSendWork/DelProcessSendWork")]
//        [HttpGet]
//        public object DelProcessSendWork(string HInterID, string user)
//        {
//            Int64 lngBillKey = 0;
//            lngBillKey = DBUtility.ClsPub.isLong(HInterID);
//            if (lngBillKey == 0)
//            {
//                objJsonResult.code = "0";
//                objJsonResult.count = 0;
//                objJsonResult.Message = "单据ID为空!";
//                objJsonResult.data = null;
//                return objJsonResult;
//            }
//            DAL.ClsSc_ProcessSendWork oBill = new DAL.ClsSc_ProcessSendWork();
//            if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
//            {
//                ds = oCN.RunProcReturn("select * from Sc_ProcessSendWorkMain where HInterID=" + lngBillKey, "Sc_ProcessSendWorkMain");
//                if (int.Parse(ds.Tables[0].Rows[0]["HBillStatus"].ToString()) > 1)
//                {
//                    objJsonResult.code = "0";
//                    objJsonResult.count = 0;
//                    objJsonResult.Message = "单据当前处于不能删除状态,不能删除!";
//                    objJsonResult.data = null;
//                    return objJsonResult;
//                }
                if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据已经审核,不能删除!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
//                if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
//                {
//                    objJsonResult.code = "0";
//                    objJsonResult.count = 0;
//                    objJsonResult.Message = "单据已经审核,不能删除!";
//                    objJsonResult.data = null;
//                    return objJsonResult;
//                }
                bool IsDete = oBill.DeleteBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo);
                if (IsDete)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
//                bool IsDete = oBill.DeleteBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo);
//                if (IsDete)
//                {
//                    objJsonResult.code = "0";
//                    objJsonResult.count = 1;
//                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
//                    objJsonResult.data = null;
//                    return objJsonResult;
//                }
//                else
//                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "单据未找到";
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
//                    objJsonResult.code = "0";
//                    objJsonResult.count = 0;
//                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;
//                    objJsonResult.data = null;
//                    return objJsonResult;
//                }
//            }
//            else
//            {
//                objJsonResult.code = "0";
//                objJsonResult.count = 0;
//                objJsonResult.Message = "单据未找到";
//                objJsonResult.data = null;
//                return objJsonResult;
//            }
//        }
//        #endregion
//    }
//}