Browse Source

下拉未完成单据

master
姜鹏 1 year ago
parent
commit
c86f1e4f95
  1. 214
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs

214
ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs

@ -5383,42 +5383,224 @@ namespace ICSSoft.DataProject
#endregion #endregion
#region 获取调拨单
#region 获取未完成单据
/// <summary> /// <summary>
/// 获取未发,未发完调拨单
/// 根据传入类型,查询未完成单据
/// </summary> /// </summary>
/// <param name="JsonData"></param> /// <param name="JsonData"></param>
/// <returns></returns> /// <returns></returns>
public static DataTable TransCodemationGet(TransferDoc JsonData) public static DataTable TransCodemationGet(TransferDoc JsonData)
{ {
// var language = LanguageHelper.GetName("WMSAPIInfo");
// if (JsonData==null)
// {
// throw new Exception(language.GetNameByCode("WMSAPIInfo007"));//"传送数据为空!"
// }
// using (SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString))
// {
// conn.Open();
// SqlTransaction sqlTran = conn.BeginTransaction();
// SqlCommand cmd = new SqlCommand();
// cmd.Transaction = sqlTran;
// cmd.Connection = conn;
// try
// {
// string Workpoint = "";
// Workpoint = JsonData.WorkPoint;
// string sql = @"SELECT DISTINCT TransferNO as TransCode FROM ICSTransfer
//WHERE WorkPoint='{0}' AND Quantity>ISNULL(TransferQuantity, 0) order by TransferNO desc";
// sql = string.Format(sql, Workpoint);
// DataTable table = DBHelper.SQlReturnData(sql, cmd);
// return table;
// }
// catch (Exception ex)
// {
// if (cmd.Transaction != null)
// cmd.Transaction.Rollback();
// log.Error(ex.Message);
// throw new Exception(ex.Message);
// }
// finally
// {
// if (conn.State == ConnectionState.Open)
// {
// conn.Close();
// }
// conn.Dispose();
// }
// }
var language = LanguageHelper.GetName("WMSAPIInfo"); var language = LanguageHelper.GetName("WMSAPIInfo");
if (JsonData==null)
{
throw new Exception(language.GetNameByCode("WMSAPIInfo007"));//"传送数据为空!"
}
using (SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString)) using (SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString))
{ {
conn.Open(); conn.Open();
SqlTransaction sqlTran = conn.BeginTransaction();
SqlCommand cmd = new SqlCommand(); SqlCommand cmd = new SqlCommand();
cmd.Transaction = sqlTran;
cmd.Connection = conn; cmd.Connection = conn;
cmd.CommandTimeout = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["TimeOut"]);
try try
{ {
string Workpoint = "";
Workpoint = JsonData.WorkPoint;
if (string.IsNullOrEmpty(JsonData.TransType))
{
throw new Exception(language.GetNameByCode("WMSAPIInfo002"));//"单据类型不能为空!"
}
else if (!EnumHelper.HasDescriptions(typeof(TransTypeEnum), JsonData.TransType))
{
throw new Exception(language.GetNameByCode("WMSAPIInfo003"));//"单据类型不存在!"
}
else if (string.IsNullOrEmpty(JsonData.WorkPoint))
{
throw new Exception(language.GetNameByCode("WMSAPIInfo004"));//"站点不能为空!"
}
string TransType = JsonData.TransType;
#region SLQ
//string sqlCheck = @"IF NOT EXISTS(SELECT a.ID FROM {1} WHERE {2})
// BEGIN
// RAISERROR('" + language.GetNameByCode("WMSAPIInfo035") + @"',16,1);
// RETURN
// END
// ";
string sql = @"SELECT
{0}
FROM {1}
WHERE {2}
order by a.MTIME DESC";
#endregion
bool isDeliveryNotice = false; //送货、到货、含委外
bool MOApplyWithBin = false; //生产领料-库位
bool OtherOutDocWithBin = false; //杂发-库位
string columns = string.Empty; //查询源头单据表的特殊列名
string tableName = string.Empty; //查询源头单据表名
string where = string.Empty; //查询源头单据的过滤条件
bool isMerge = false; //合并发料
string columnsMerge = string.Empty; //合并发料查询源头单据表的特殊列名
string tableNameMerge = string.Empty; //合并发料查询源头单据表名
#region 出库
#region 采购退货
if (TransType == TransTypeEnum.PurchaseReceiveDoctNegative.GetDescription())
{
columns = @" DISTINCT a.DNCode AS TransCode";
tableName = @"ICSDeliveryNotice a ";
where = @" a.WorkPoint='{1}' AND a.DNType='2' AND a.Status='2' AND (a.Quantity-a.RCVQuantity)>0";
}
#endregion
#region 其他出库
else if (TransType == TransTypeEnum.OtherOutDoc.GetDescription())
{
columns = @" DISTINCT a.OutCode AS TransCode";
tableName = @"ICSOtherOut a ";
where = @" a.Status='1' AND a.WorkPoint='{1}' and a.Quantity>a.OutQuantity";
}
#endregion
#region 一步调拨(合并发料)
else if (TransType == TransTypeEnum.OneStepTransferDocIn.GetDescription())
{
columns = @" DISTINCT a.TransferNO AS TransCode";
tableName = @"ICSTransfer a ";
where = @" a.WorkPoint='{1}' AND a.Status='1' AND Quantity>ISNULL(TransferQuantity, 0) AND Type='1'";
}
#endregion
#region 生产发料(合并发料)
else if (TransType == TransTypeEnum.MOIssueDoc.GetDescription())
{
columns = @" DISTINCT b.MOCode AS TransCode";
tableName = @" ICSMOPick a
INNER JOIN ICSMO b ON a.MODetailID=b.MODetailID AND a.WorkPoint=b.WorkPoint ";
string sql = @"SELECT DISTINCT TransferNO as TransCode FROM ICSTransfer
WHERE WorkPoint='{0}' AND Quantity>ISNULL(TransferQuantity, 0) order by TransferNO desc";
sql = string.Format(sql, Workpoint);
where = @" a.WorkPoint='{1}' AND a.SupplyType='3' AND b.MOStatus<>'3' and a.EATTRIBUTE1<>'1' and a.Quantity-a.IssueQuantity>0";
}
#endregion
#region 开立材料出库(合并发料)
else if (TransType == TransTypeEnum.MOIssue.GetDescription())
{
columns = @" DISTINCT a.IssueCode AS TransCode";
tableName = @" ICSMOIssue a ";
where = @" a.WorkPoint='{1}' AND a.Status<>'3' and a.Quantity-a.IssueQuantity>0";
}
#endregion
#region 生产发料-领料申请单
else if (TransType == TransTypeEnum.MOApply.GetDescription())
{
columns = @" DISTINCT a.ApplyCode AS TransCode";
tableName = @" ICSMOApply a
INNER JOIN ICSMO b ON b.MOCode=a.SourceCode and a.SourceSequence = b.Sequence AND a.WorkPoint=b.WorkPoint";
where = @" a.Status='2' AND a.WorkPoint='{1}' and a.Quantity-a.IssueQuantity>0";
}
#endregion
#region 开立委外材料出库(合并发料)
else if (TransType == TransTypeEnum.OOIssue.GetDescription())
{
columns = @" DISTINCT a.IssueCode AS TransCode";
tableName = @" ICSOIssue a ";
where = @" a.WorkPoint='{1}' AND a.Status<>'3' and a.Quantity-a.IssueQuantity>0";
}
#endregion
#region 委外领料申请单发料(合并发料)
else if (TransType == TransTypeEnum.OOApply.GetDescription())
{
columns = @" DISTINCT a.ApplyCode AS TransCode";
tableName = @" ICSOApply a ";
where = @" a.WorkPoint='{1}' AND a.Status<>'3' and a.Quantity-a.IssueQuantity>0";
}
#endregion
#region 委外发料(合并发料)
else if (TransType == TransTypeEnum.OutsourcingIssueDoc.GetDescription())
{
columns = @" DISTINCT b.OOCode AS TransCode";
tableName = @" ICSOOPick a
INNER JOIN ICSOutsourcingOrder b ON a.OODetailID=b.OODetailID AND a.WorkPoint=b.WorkPoint ";
where = @" a.WorkPoint='{1}' AND a.SupplyType='3' AND b.Status<>'3' and a.EATTRIBUTE1<>'1' and a.Quantity-a.IssueQuantity>0";
}
#endregion
#region 销售出库(合并发料)
else if (TransType == TransTypeEnum.SalesShipmentDoc.GetDescription())
{
columns = @" DISTINCT a.SDNCode AS TransCode";
tableName = @"ICSSDN a ";
where = @" a.WorkPoint='{1}' AND a.Type='1' AND a.Status<>'3' and a.Quantity-a.SDNQuantity>0";
}
#endregion
#region 盘点
else if (TransType == TransTypeEnum.Check.GetDescription())
{
columns = @" DISTINCT a.CheckCode AS TransCode";
tableName = @"ICSCheck a ";
where = @" a.WorkPoint='{1}' ";
}
#endregion
where = string.Format(where, JsonData.TransCode, JsonData.WorkPoint);
sql = string.Format(sql, columns, tableName, where, JsonData.TransCode);
log.Debug("源头单据sql : " + sql);
DataTable table = DBHelper.SQlReturnData(sql, cmd); DataTable table = DBHelper.SQlReturnData(sql, cmd);
return table; return table;
}
#endregion
}
catch (Exception ex) catch (Exception ex)
{ {
if (cmd.Transaction != null)
cmd.Transaction.Rollback();
log.Error(ex.Message); log.Error(ex.Message);
throw new Exception(ex.Message); throw new Exception(ex.Message);
} }

Loading…
Cancel
Save