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(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 listCa = new List(); //获取表格数据集合 listCa = JsonConvert.DeserializeObject>(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 = new List(); //获取表格数据集合 listCa = JsonConvert.DeserializeObject>(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 } }