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 SellOutBackController : 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 = "1247";//单据类型
|
public string sBillCode = "ICStockBill";
|
public string sTranType = "21";
|
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();
|
public ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
|
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/SellOutBack/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("SellOutBack/get_GetXs_SeOutStockBackBillList")]
|
[HttpGet]
|
public object get_GetXs_SeOutStockBackBillList(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 == "1205")//销售出库单-蓝字
|
{
|
ds = webserver.GetKf_SellOutBillList(sWhere);
|
}
|
else//销售出库单
|
{
|
//ds = webserver.GetXs_SeOutBackBillList(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 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("SellOutBack/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 == "1205")//销售出库单-蓝字
|
{
|
ds = webserver.GetKf_SellOutBillList(sWhere);
|
}
|
else//销售出库单
|
{
|
//ds = webserver.GetXs_SeOutBackBillList(sWhere);
|
}
|
//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("SellOutBack/DisBillEntryList_Webs_Json")]
|
[HttpGet]
|
public object DisBillEntryList_Webs_Json(long HBillID, string HBillType, string sWhere)
|
{
|
try
|
{
|
if (String.IsNullOrEmpty(sWhere))
|
sWhere = "and 1 = 1 ";
|
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>
|
/// <returns></returns>
|
[Route("SellOutBack/get_CheckTypeByBarCode_All_Json")]
|
[HttpGet]
|
public Object get_CheckTypeByBarCode_All_Json(string sCode, Int64 sInterID, string HBillType, string sBillNo, string sMaker, Int64 WhID, Int64 SPID, Double sQty, bool sRedBlue, bool SourceFlag, string sSourceBillNo, string sSourceType, Int64 HOWNERID, string sExpressNumber)
|
{
|
oBar = webserver.get_CheckTypeByBarCode_All(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID,sExpressNumber, ref DBUtility.ClsPub.sErrInfo);
|
if (oBar == null)
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 0;
|
objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
|
objJsonResult.data = null;
|
return objJsonResult;
|
}
|
else
|
{
|
objJsonResult.code = "0";
|
objJsonResult.count = 1;
|
objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
|
objJsonResult.data = oBar;
|
return objJsonResult;
|
}
|
}
|
|
/// <summary>
|
/// 根据条码得到相应信息(条码档案) 扫条码的方法
|
/// </summary>
|
/// <param name="sBarCode"></param>
|
/// <param name="sInterID"></param>
|
/// <param name="sBillNo"></param>
|
/// <param name="sQty"></param>
|
/// <returns></returns>
|
[Route("Web/SellOutBack/get_InfoByBarCode_Source_Json")]
|
[HttpGet]
|
public object get_InfoByBarCode_Source_Json(string sBarCode, Int64 sInterID, string sBillNo, Double sQty)
|
{
|
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 = oView.HWHID;
|
model.HStockPlaceID = oView.HSPID;
|
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("SellOutBack/set_SaveSellOutBackBill_Json")]
|
[HttpPost]
|
public object set_SaveSellOutBackBill_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;
|
websLsmain.HBillType = "1247";//固定值
|
if (webserver.set_SaveSellOutBackBill_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;
|
}
|
}
|
}
|
}
|