using System.Data; 
 | 
using System.Data.SqlClient; 
 | 
using System.Web.Http; 
 | 
using WebAPI.Models; 
 | 
using Newtonsoft.Json; 
 | 
using DBUtility; 
 | 
using System; 
 | 
using Newtonsoft.Json.Linq; 
 | 
using System.Collections.Generic; 
 | 
  
 | 
namespace WebAPI.Controllers.SCGL 
 | 
{ 
 | 
    public class Sc_CallGoodsBackRequestBillController : ApiController 
 | 
    { 
 | 
        private json objJsonResult = new json(); 
 | 
        public DataSet ds = new DataSet(); 
 | 
        public WebServer webserver = new WebServer(); 
 | 
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); 
 | 
  
 | 
        #region 退料申请单 列表 
 | 
        public class CallGoodsBackRequest 
 | 
        { 
 | 
            public string HBillNo { get; set; }//报废单号 
 | 
            public string HOrgID { get; set; }//组织 
 | 
            public string MaterialNumber { get; set; }//物料代码 
 | 
            public string MaterialName { get; set; }//物料名称 
 | 
            public string MaterialModel { get; set; }//规格型号 
 | 
            public string HDeptName { get; set; }//生产车间 
 | 
            public DateTime HBeginDate { get; set; }//开始时间 
 | 
            public DateTime HEndDate { get; set; }//结束时间 
 | 
            public string ProcMul { get; set; }//工段 
 | 
            public string Hmaker { get; set; }//当前登录人 
 | 
            public string Arbitrarily { get; set; }//任意参数 
 | 
        } 
 | 
  
 | 
        [Route("Sc_CallGoodsBackRequestBill/JIT_CallGoodsBackRequestBillList")] 
 | 
        [HttpGet] 
 | 
        public object JIT_CallGoodsBackRequestBillList(string sWhere, string user) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //查看权限 
 | 
                if (!DBUtility.ClsPub.Security_Log("JIT_ComplementGoods_Query", 1, false, user)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "无查看权限!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                if (sWhere == null || sWhere.Equals("")) 
 | 
                { 
 | 
                    objJsonResult.code = "1"; 
 | 
                    objJsonResult.count = 1; 
 | 
                    objJsonResult.Message = "Sucess!"; 
 | 
                    objJsonResult.data = new DataTable(); 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                //反序列化传递的值 
 | 
                CallGoodsBackRequest com = JsonConvert.DeserializeObject<CallGoodsBackRequest>(sWhere.ToString()); 
 | 
  
 | 
                ds = oCN.RunProcReturn($"exec h_p_JIT_BackGoodsRequestBillList_Query '{com.HBeginDate}','{com.HEndDate.AddDays(1).AddSeconds(-1)}','{com.HBillNo}','{com.MaterialNumber}'," + 
 | 
                        $"'{com.MaterialName}','{com.MaterialModel}','{com.HDeptName}','{com.ProcMul}','{com.Hmaker}','{com.HOrgID}'", "h_p_JIT_BackGoodsRequestBillList_Query"); 
 | 
  
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "Sucess!"; 
 | 
                objJsonResult.data = ds.Tables[0]; 
 | 
                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_CallGoodsBackRequestBill/DelCallGoodsBackRequestBill")] 
 | 
        [HttpGet] 
 | 
        public object DelCallGoodsBackRequestBill(string HInterID, string HEntryID, string user) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //判断是否有查询权限   
 | 
                if (!DBUtility.ClsPub.Security_Log("JIT_ComplementGoods_Drop", 1, false, user)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "无查询权限"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                ds = oCN.RunProcReturn($"exec h_p_JIT_BackGoodsRequestBillList_Delete {HInterID},{HEntryID}", "h_p_JIT_BackGoodsRequestBillList_Delete"); 
 | 
  
 | 
                objJsonResult.code = ds.Tables[0].Rows[0][0].ToString(); 
 | 
                objJsonResult.count = int.Parse(ds.Tables[0].Rows[0][0].ToString()); 
 | 
                objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString(); 
 | 
                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; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 退料申请单  退料确认页面列表 
 | 
        [Route("Sc_CallGoodsBackRequestBill/JIT_BackGoodsList")] 
 | 
        [HttpGet] 
 | 
        public object JIT_BackGoodsList(string HInterID, string user) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                ds = oCN.RunProcReturn($"exec h_p_JIT_BackGoods_Load '{HInterID}'", "h_p_JIT_BackGoods_Load"); 
 | 
  
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "Sucess!"; 
 | 
                objJsonResult.data = ds.Tables[0]; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "Exception!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 退料确认  品质确认 
 | 
        //传递参数 
 | 
        public class JIT_BackGoods_PZQR { 
 | 
            public int? hmainid = 0; 
 | 
            public int? Hsubid = 0; 
 | 
            public int? HSupID = 0; 
 | 
            public int? HWHID = 0; 
 | 
            public string 退料原因 { get; set; } 
 | 
            public int? 退回数量 = 0; 
 | 
            public int? HSPID = 0; 
 | 
        } 
 | 
  
 | 
        [Route("Sc_CallGoodsBackRequestBill/JIT_BackGoodsList_PZQR")] 
 | 
        [HttpPost] 
 | 
        public object JIT_BackGoodsList_PZQR([FromBody] JObject msg) 
 | 
        { 
 | 
            var _value = msg["msg"].ToString(); 
 | 
            string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 
 | 
            string msg2 = sArray[0].ToString(); 
 | 
            try 
 | 
            { 
 | 
                msg2 = msg2.Replace("\\", ""); 
 | 
                msg2 = msg2.Replace("\n", ""); 
 | 
  
 | 
                List<JIT_BackGoods_PZQR> listCa = new List<JIT_BackGoods_PZQR>(); 
 | 
                //获取表格数据集合 
 | 
                listCa = JsonConvert.DeserializeObject<List<JIT_BackGoods_PZQR>>(msg2.ToString()); 
 | 
  
 | 
                int a = 0; 
 | 
                for (int i = 0; i < listCa.Count; i++) 
 | 
                { 
 | 
                    ds = oCN.RunProcReturn($"exec h_p_JIT_BackGoods_QACheck '{listCa[i].hmainid}','{listCa[i].Hsubid}'," + 
 | 
                 $"{listCa[i].HSupID},{listCa[i].HWHID},'{listCa[i].退料原因}',{listCa[i].退回数量}", "h_p_JIT_BackGoods_QACheck"); 
 | 
                    if (ds.Tables[0].Rows[0][0].ToString() == "1") 
 | 
                    { 
 | 
                        a++; 
 | 
                    } 
 | 
                } 
 | 
                if (a == listCa.Count) 
 | 
                { 
 | 
                    objJsonResult.code = ds.Tables[0].Rows[0][0].ToString(); 
 | 
                    objJsonResult.count = int.Parse(ds.Tables[0].Rows[0][0].ToString()); 
 | 
                    objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString(); 
 | 
                    objJsonResult.data = ds.Tables[0]; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else if(a>0&&a<listCa.Count) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "未全部品质确认!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else  
 | 
                { 
 | 
                    objJsonResult.code = ds.Tables[0].Rows[0][0].ToString(); 
 | 
                    objJsonResult.count = int.Parse(ds.Tables[0].Rows[0][0].ToString()); 
 | 
                    objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString(); 
 | 
                    objJsonResult.data = ds.Tables[0]; 
 | 
                    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_CallGoodsBackRequestBill/JIT_BackGoodsList_CKJS")] 
 | 
        [HttpPost] 
 | 
        public object JIT_BackGoodsList_CKJS([FromBody] JObject msg) 
 | 
        { 
 | 
            var _value = msg["msg"].ToString(); 
 | 
            string[] sArray = _value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 
 | 
            string msg2 = sArray[0].ToString(); 
 | 
            string user = sArray[1].ToString(); 
 | 
            try 
 | 
            { 
 | 
                msg2 = msg2.Replace("\\", ""); 
 | 
                msg2 = msg2.Replace("\n", ""); 
 | 
  
 | 
                List<JIT_BackGoods_PZQR> listCa = new List<JIT_BackGoods_PZQR>(); 
 | 
                //获取表格数据集合 
 | 
                listCa = JsonConvert.DeserializeObject<List<JIT_BackGoods_PZQR>>(msg2.ToString()); 
 | 
  
 | 
                int a = 0; 
 | 
                for (int i = 0; i < listCa.Count; i++) 
 | 
                { 
 | 
                    ds = oCN.RunProcReturn($"exec h_p_JIT_BackGoods_WHReceive {listCa[i].hmainid},{listCa[i].Hsubid}," + 
 | 
                 $"{listCa[i].HSPID},'{user}'", "h_p_JIT_BackGoods_WHReceive"); 
 | 
  
 | 
                    if (ds.Tables[0].Rows[0][0].ToString() == "1") 
 | 
                    { 
 | 
                        a++; 
 | 
                    } 
 | 
                } 
 | 
                if (a == listCa.Count) 
 | 
                { 
 | 
                    objJsonResult.code = ds.Tables[0].Rows[0][0].ToString(); 
 | 
                    objJsonResult.count = int.Parse(ds.Tables[0].Rows[0][0].ToString()); 
 | 
                    objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString(); 
 | 
                    objJsonResult.data = ds.Tables[0]; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else if (a > 0 && a < listCa.Count) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "未全部仓库接收!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = ds.Tables[0].Rows[0][0].ToString(); 
 | 
                    objJsonResult.count = int.Parse(ds.Tables[0].Rows[0][0].ToString()); 
 | 
                    objJsonResult.Message = ds.Tables[0].Rows[0][1].ToString(); 
 | 
                    objJsonResult.data = ds.Tables[0]; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "Exception!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
    } 
 | 
} 
 |