using DBUtility; 
 | 
using Model; 
 | 
using Newtonsoft.Json.Linq; 
 | 
using SQLHelper; 
 | 
using System; 
 | 
using System.Collections.Generic; 
 | 
using System.Data; 
 | 
using System.IO; 
 | 
using System.Linq; 
 | 
using System.Net; 
 | 
using System.Net.Http; 
 | 
using System.Web; 
 | 
using System.Web.Http; 
 | 
using WebAPI; 
 | 
using WebAPI.Code; 
 | 
using WebAPI.Models; 
 | 
namespace WebAPI.Controllers 
 | 
{ 
 | 
    public class EntrustOutBackController : ApiController 
 | 
    { 
 | 
        public Int64 HSupID;//加工单位ID 
 | 
        //public Int64 HCusID;//客户ID 
 | 
        public Int64 HDeptID;//部门ID 
 | 
        public Int64 HWhID;//仓库ID 
 | 
        public Int64 HSPID;//仓位ID 
 | 
  
 | 
        public string HSupName; 
 | 
        public string HDeptName; 
 | 
        public string HWhName; 
 | 
        public string HSPName; 
 | 
  
 | 
        public Int64 HInterID;//本单ID 
 | 
        public string HBillNo; 
 | 
        public string HSourceBillNo; 
 | 
        public string HBillType = "1238";//单据类型 
 | 
        public string sBillCode = "ICStockBill"; 
 | 
        public string sTranType = "1"; 
 | 
        public bool sRedBlueFlag = false; 
 | 
        public bool SourceFlag = false; 
 | 
        //public string sSourceType = "1403"; 
 | 
        public WebServer webserver =new WebServer(); 
 | 
        public DataSet ds =new DataSet(); 
 | 
        public ClsGy_BarCodeBill_WMS_Model_View oView =new ClsGy_BarCodeBill_WMS_Model_View(); 
 | 
        public ClsKF_PonderationBillMain_Temp model =new ClsKF_PonderationBillMain_Temp(); 
 | 
        private json objjson = new json(); 
 | 
        public double sRelQty = 0; 
 | 
       // private DataBaseServices objDataBaseServices = new DataBaseServices(); 
 | 
        private json objJsonResult = new json(); 
 | 
       // private string msgModel = "{{\"count\":{0},\"code\":{0},\"message\":\"{1}\",\"result\":{2}}}"; 
 | 
        public static string GetSession(string sMsg) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                string s = Common.GetSession(); 
 | 
                return s; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                return ""; 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
        [Route("Web/EntrustOutBack/GetMAXNum")] 
 | 
        [HttpGet] 
 | 
        public object GetMAXNum() 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                string HBillNo = ""; 
 | 
                Int64 HInterID = 0;//显示的字段 
 | 
                HInterID = DBUtility.ClsPub.CreateBillID(this.HBillType, ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                HBillNo = DBUtility.ClsPub.CreateBillCode(this.HBillType, ref DBUtility.ClsPub.sExeReturnInfo, true); 
 | 
                //----------创建虚表------------------------ 
 | 
                DataTable dt_Main = new DataTable("Json"); 
 | 
                dt_Main.Columns.Add("HBillNo", typeof(string)); 
 | 
                dt_Main.Columns.Add("HInterID", typeof(int)); 
 | 
                //---------创建新行------------------------ 
 | 
                DataRow dr_main = dt_Main.NewRow();//创建新行  
 | 
                dt_Main.Rows.Add(dr_main);//将新行加入到表中 
 | 
                dr_main["HBillNo"] = DBUtility.ClsPub.isStrNull(HBillNo); 
 | 
                dr_main["HInterID"] = DBUtility.ClsPub.isLong(HInterID); 
 | 
  
 | 
                if (HBillNo == null || HInterID == 0) 
 | 
                { 
 | 
                    objjson.code = "0"; 
 | 
                    objjson.count = 0; 
 | 
                    objjson.Message = "获取失败"; 
 | 
                    objjson.data = null; 
 | 
                    return objjson; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objjson.code = "0"; 
 | 
                    objjson.count = 1; 
 | 
                    objjson.Message = "获取成功"; 
 | 
                    objjson.data = dt_Main; 
 | 
                    return objjson; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objjson.code = "0"; 
 | 
                objjson.count = 0; 
 | 
                objjson.Message = "获取失败" + e.ToString(); 
 | 
                objjson.data = null; 
 | 
                return objjson; 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
        /// <summary> 
 | 
        /// 源单类型 及源单号 返回相关信息 
 | 
        /// </summary> 
 | 
        /// <param name="HSourceBillNo"></param> 
 | 
        /// <returns></returns> 
 | 
        [Route("EntrustOutBack/get_GetWW_WWPPBomBackList")] 
 | 
        [HttpGet] 
 | 
        public object get_GetWW_WWPPBomBackList(string HSourceBillType, string HSourceBillNo, Int64 sInterID, string sBillNo) 
 | 
        { 
 | 
            try 
 | 
            {  
 | 
                string sWhere = " Where 单据号 like '%" + HSourceBillNo.Trim() + "%'"; 
 | 
                //if (HSourceBillType == "1403")//退货通知单 
 | 
                //{ 
 | 
                //    ds = webserver.GetXs_SeOutStockBackBillList(sWhere); 
 | 
                //} 
 | 
                //else if (HSourceBillType == "1401")//销售订单-红字 
 | 
                //{ 
 | 
                //    ds = webserver.GetXs_SeOrderBillRedList(sWhere); 
 | 
                //} 
 | 
                //else//销售出库单 
 | 
                //{ 
 | 
                //    ds = webserver.GetXs_SeOutBackBillList(sWhere); 
 | 
                //} 
 | 
                ds = webserver.GetK3_WWPPBomBackList(sWhere);//暂时用下K3的委外订单-退料 
 | 
                if (ds == null || ds.Tables[0].Rows.Count <= 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "没有返回任何记录!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult;  
 | 
                } 
 | 
                else 
 | 
                {   
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 1; 
 | 
                    objJsonResult.Message = "返回记录成功!"; 
 | 
                    objJsonResult.data = ds.Tables[0]; 
 | 
                    return objJsonResult;  
 | 
                } 
 | 
            } 
 | 
            catch (Exception ex) 
 | 
            {  
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
  
 | 
  
 | 
        /// <summary> 
 | 
        /// 写入临时表  扫源单的方法 
 | 
        /// </summary> 
 | 
        /// <param name="HSourceBillNo"></param> 
 | 
        /// <returns></returns> 
 | 
        [Route("EntrustOutBack/set_SavePonderationBillMain_Temp_Source_Fast_Json")] 
 | 
        [HttpGet] 
 | 
        public object set_SavePonderationBillMain_Temp_Source_Fast_Json(string HSourceBillType,string HSourceBillNo, Int64 sInterID, string sBillNo) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
               // DataSet ds = new DataSet(); 
 | 
               // WebServer webserver = new WebServer(); 
 | 
                string sWhere = " Where 单据号 like '%" + HSourceBillNo.Trim() + "%'"; 
 | 
                //if (HSourceBillType == "1403")//退货通知单 
 | 
                //{ 
 | 
                //    ds = webserver.GetXs_SeOutStockBackBillList(sWhere); 
 | 
                //} 
 | 
                //else if (HSourceBillType == "1401")//销售订单-红字 
 | 
                //{ 
 | 
                //    ds = webserver.GetXs_SeOrderBillRedList(sWhere); 
 | 
                //} 
 | 
                //else//销售出库单 
 | 
                //{ 
 | 
                //    ds = webserver.GetXs_SeOutBackBillList(sWhere); 
 | 
                //} 
 | 
                ds = webserver.GetK3_WWPPBomBackList(sWhere);//暂时用下K3的委外订单-退料 
 | 
                //sSourceType = HSourceBillType; 
 | 
                if (ds == null || ds.Tables[0].Rows.Count <= 0) 
 | 
                { 
 | 
  
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "没有返回任何记录!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                    //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    //HSupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HSupID"]); 
 | 
                    //HSupName = Convert.ToString(ds.Tables[0].Rows[0]["HSupName"]); 
 | 
                    //HDeptID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HDeptID"]); 
 | 
                    //HDeptName = Convert.ToString(ds.Tables[0].Rows[0]["HDeptName"]); 
 | 
                    if (webserver.set_SavePonderationBillMain_Temp_Source_Fast(sInterID, sBillNo, HBillType, HSourceBillNo, HSourceBillType, "红字", ref DBUtility.ClsPub.sErrInfo)) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 1; 
 | 
                        objJsonResult.Message = "返回记录成功!"; 
 | 
                        objJsonResult.data = ds.Tables[0]; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "写入临时表失败!" + DBUtility.ClsPub.sErrInfo; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                } 
 | 
            } 
 | 
            catch (Exception ex) 
 | 
            { 
 | 
                 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "没有返回任何记录!"+ex.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        /// <summary> 
 | 
        /// 返回出入库条码临时表      
 | 
        /// </summary> 
 | 
        /// <returns></returns> 
 | 
        [Route("Web/EntrustOutBack/DisBillEntryList_Webs_Json")] 
 | 
        [HttpGet] 
 | 
        public object DisBillEntryList_Webs_Json(long HBillID, string HBillType, string sWhere) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                ds = webserver.GetKf_PonderationBillMain_Temp(HBillID, HBillType, sWhere); 
 | 
                if (ds == null || ds.Tables[0].Rows.Count <= 0) 
 | 
                { 
 | 
  
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "没有返回任何记录!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                    //DBUtility.ClsPub.MessageBeep((int)DBUtility.ClsPub.BeepType.Warning); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 1; 
 | 
                    objJsonResult.Message = "获取信息成功!"; 
 | 
                    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; 
 | 
            } 
 | 
        } 
 | 
        /// <summary> 
 | 
        /// 根据条码得到相应信息(条码档案) 扫条码的方法 
 | 
        /// </summary> 
 | 
        /// <param name="sBarCode"></param> 
 | 
        /// <param name="sInterID"></param> 
 | 
        /// <param name="sBillNo"></param> 
 | 
        /// <param name="sQty"></param> 
 | 
        /// <returns></returns> 
 | 
        [Route("Web/EntrustOutBack/get_InfoByBarCode_Source_Json")] 
 | 
        [HttpGet] 
 | 
        public object get_InfoByBarCode_Source_Json(string sBarCode, Int64 sInterID, string sBillNo, Double sQty, int sWHID, int sSPID) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                string sErrMsg = ""; 
 | 
                bool sBool = false; 
 | 
                oView = webserver.get_InfoByBarCode_Source(sBarCode, sInterID, ref sBool, ref sErrMsg); 
 | 
                model.HInterID = DBUtility.ClsPub.isLong(sInterID); 
 | 
                model.HBillNo = DBUtility.ClsPub.isStrNull(sBillNo); 
 | 
                model.HBillType = this.HBillType; 
 | 
                model.HMaker = ""; 
 | 
                // 
 | 
                model.HMaterID = oView.HMaterID; 
 | 
                model.HAuxPropID = oView.HAuxPropID; 
 | 
                model.HErpClsID = oView.HErpClsID; 
 | 
                model.HQty = oView.HQty; 
 | 
                model.HQtyMust = oView.HinitQty; 
 | 
                model.HBarCode = oView.HBarCode; 
 | 
                model.HBatchNo = oView.HBatchNo; 
 | 
                model.HMTONo = oView.HMTONo; 
 | 
  
 | 
                model.HWhID = sWHID; 
 | 
                model.HStockPlaceID = sSPID; 
 | 
                model.HSourceInterID = oView.HSourceInterID; 
 | 
                model.HSourceEntryID = oView.HSourceEntryID; 
 | 
                model.HSourceBillNo = oView.HSourceBillNo; 
 | 
                model.HSourceBillType = oView.HSourceBillType; 
 | 
                model.HRedBlueFlag = true; 
 | 
                model.HPieceQty = 1; 
 | 
                model.HSTOCKORGID = 0; 
 | 
                model.HOWNERID = 0; 
 | 
                if (webserver.set_SavePonderationBillMain_Temp_Qty(model, sQty, ref DBUtility.ClsPub.sErrInfo)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 1; 
 | 
                    objJsonResult.Message = "扫码成功!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "扫码失败!" + DBUtility.ClsPub.sErrInfo; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                 
 | 
                 objJsonResult.code = "0"; 
 | 
                 objJsonResult.count = 0; 
 | 
                 objJsonResult.Message = "扫码失败,此条码不存在!"+e.ToString(); 
 | 
                 objJsonResult.data = null; 
 | 
                 return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        /// <summary> 
 | 
        /// 生成委外退货单 
 | 
        /// </summary> 
 | 
        /// <returns></returns> 
 | 
        [Route("Web/EntrustOutBack/set_SaveEntrustOutBackBill_Json")] 
 | 
        [HttpPost] 
 | 
        public object set_SaveEntrustOutBackBill_Json([FromBody]JObject oMain) 
 | 
        { 
 | 
            var _value = oMain["oMain"].ToString(); 
 | 
            string msg1 = _value.ToString(); 
 | 
            try 
 | 
            { 
 | 
                List<Model.ClsKf_ICStockBillMain> lsmain = new List<Model.ClsKf_ICStockBillMain>(); 
 | 
                ListModels oListModels = new ListModels(); 
 | 
                lsmain = oListModels.getICStockBillMainByJson(msg1); 
 | 
                lsmain[0].HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); 
 | 
                lsmain[0].HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd")); 
 | 
                string sSourceBillType = lsmain[0].HBillType; 
 | 
  
 | 
                WebAPI.WebS.ClsKf_ICStockBillMain websLsmain = new WebS.ClsKf_ICStockBillMain(); 
 | 
  
 | 
                websLsmain.HInterID = lsmain[0].HInterID; 
 | 
                websLsmain.HDate = lsmain[0].HDate; 
 | 
                websLsmain.HBillNo = lsmain[0].HBillNo; 
 | 
                websLsmain.HDeptID = lsmain[0].HDeptID; 
 | 
                websLsmain.HEmpID = lsmain[0].HEmpID; 
 | 
                websLsmain.HRemark = lsmain[0].HRemark; 
 | 
                websLsmain.HMaker = lsmain[0].HMaker; 
 | 
  
 | 
                if (webserver.set_SaveEntrustOutBackBill_New(websLsmain, sSourceBillType, ref DBUtility.ClsPub.sErrInfo)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 1; 
 | 
                    objJsonResult.Message = "生成退料单成功!单据号为:"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "上传失败!" + DBUtility.ClsPub.sErrInfo; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
  
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "上传失败!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
} 
 |