You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
175 lines
7.7 KiB
175 lines
7.7 KiB
using ICSSoft.Common;
|
|
using ICSSoft.Entity;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace ICSSoft.DataProject
|
|
{
|
|
public class ICSLibrary
|
|
{
|
|
private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
|
private static string connString = System.Configuration.ConfigurationManager.AppSettings["ConnStr"];
|
|
private static string ERPDB = System.Configuration.ConfigurationManager.AppSettings["ERPDB"];
|
|
DataTable table = null;
|
|
SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
|
|
string sql = string.Empty;
|
|
VerificationMethod verification = new VerificationMethod();//验证公共方法
|
|
|
|
public object LibraryGet(ICSLibraryModel JsonData)
|
|
{
|
|
conn.Open();
|
|
SqlTransaction sqlTran = conn.BeginTransaction();
|
|
SqlCommand cmd = new SqlCommand();
|
|
cmd.Transaction = sqlTran;
|
|
cmd.Connection = conn;
|
|
string jsonInfo;
|
|
#region sql
|
|
try
|
|
{
|
|
|
|
bool isBool= verification.isStockZero(JsonData.LotNo, JsonData.WorkPoint);
|
|
if (isBool==true)
|
|
{
|
|
sql = @"select
|
|
f.ContainerCODE,
|
|
f.ContainerName,
|
|
d.InvCode,
|
|
d.InvName,
|
|
d.InvStd,
|
|
a.Quantity,
|
|
d.InvUnit,
|
|
d.AmountUnit,
|
|
i.WarehouseCode,
|
|
i.WarehouseName,
|
|
q.LocationCode,
|
|
q.LocationName,
|
|
c.ProjectCode,
|
|
c.BatchCode,
|
|
c.Version,
|
|
c.Brand,
|
|
y.TransCode,--来源单据
|
|
y.TransSequence,--来源行号
|
|
a.LotNo,
|
|
c.cFree1,
|
|
c.cFree2,
|
|
c.cFree3,
|
|
c.cFree4,
|
|
c.cFree5,
|
|
c.cFree6,
|
|
c.cFree7,
|
|
c.cFree8,
|
|
c.cFree9,
|
|
c.cFree10
|
|
from ICSWareHouseLotInfo a
|
|
left join ICSInventoryLot b on a.LotNo=b.LotNo
|
|
left join ICSExtension c on b.ExtensionID=c.id
|
|
left join ICSInventory d on b.InvCode=d.InvCode
|
|
left join ICSContainerLot e on e.LotNo=a.LotNo
|
|
left join ICSContainer f on f.ContainerID= e.ID
|
|
left join ICSLocation q on q.LocationCode=a.LocationCode
|
|
left join ICSWarehouse i on i.ID=q.WHID
|
|
left join ICSInventoryLotDetail y on y.LotNo=a.LotNo
|
|
where a.LotNo='{0}' and a.WorkPoint='{1}'";
|
|
sql = string.Format(sql, JsonData.LotNo, JsonData.WorkPoint);
|
|
table = DBHelper.SQlReturnData(sql, cmd);
|
|
if (table.Rows.Count > 0)
|
|
{
|
|
jsonInfo = JsonConvert.SerializeObject(table);
|
|
var Library = JsonConvert.DeserializeObject(jsonInfo);
|
|
return Library;
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("暂无数据!");
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
cmd.Transaction.Rollback();
|
|
log.Error(ex.Message);
|
|
throw new Exception(ex.Message);
|
|
}
|
|
finally
|
|
{
|
|
if (conn.State == ConnectionState.Open)
|
|
{
|
|
conn.Close();
|
|
}
|
|
conn.Dispose();
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
|
|
|
|
public object LibraryUpdate(ICSLibraryModel JsonData)
|
|
{
|
|
conn.Open();
|
|
SqlTransaction sqlTran = conn.BeginTransaction();
|
|
SqlCommand cmd = new SqlCommand();
|
|
cmd.Transaction = sqlTran;
|
|
cmd.Connection = conn;
|
|
//string jsonInfo;
|
|
string sqlLog = string.Empty;
|
|
///修改库存表的库位
|
|
sql = @"update ICSWareHouseLotInfo set WarehouseCode='{0}' ,LocationCode ='{1}' where LotNo='{2}' and WorkPoint='{3}'";
|
|
sql = string.Format(sql,JsonData.WarehouseCode,JsonData.LocationCode,JsonData.LotNo,JsonData.WorkPoint);
|
|
cmd.CommandText = sql;
|
|
int PurchaseList= cmd.ExecuteNonQuery();//返回数量
|
|
|
|
///添加日志
|
|
if (PurchaseList > 0)
|
|
{
|
|
sqlLog = @" INSERT INTO [dbo].[ICSWareHouseLotInfoLog]
|
|
([ID]
|
|
,[TransCode]
|
|
,[TransSequence]
|
|
,[LotNo]
|
|
,[InvCode]
|
|
,[FromWarehouseCode]
|
|
,[FromLocationCode]
|
|
,[ToWarehouseCode]
|
|
,[ToLocationCode]
|
|
,[Quantity]
|
|
,[Memo]
|
|
,[Lock]
|
|
,[TransType]
|
|
,[BusinessCode]
|
|
,[ERPID]
|
|
,[ERPDetailID]
|
|
,[ERPCode]
|
|
,[ERPSequence]
|
|
,[MUSER]
|
|
,[MUSERName]
|
|
,[MTIME]
|
|
,[WorkPoint]
|
|
,[EATTRIBUTE1])
|
|
|
|
(select newid(),'{0}','{1}','{2}',a.InvCode ,' ', ' ','{3}','{4}',a.Quantity,' ','0','7','14',' ',' ',' ',' ','{5}',e.F_RealName,'{6}','{7}',' '
|
|
from ICSWareHouseLotInfo a--主表
|
|
left join Sys_SRM_User e on e.F_Account='{5}' and e.F_Location='{7}'
|
|
where a.LotNo='{2}' and a. WorkPoint='{7}' )";
|
|
sqlLog = string.Format(sqlLog, JsonData.TransCode, JsonData.TransSequence, JsonData.LotNo, JsonData.WarehouseCode,JsonData.LocationCode, JsonData.User, DateTime.Now, JsonData.WorkPoint);
|
|
cmd.CommandText = sqlLog;
|
|
int Purchase = cmd.ExecuteNonQuery();//返回数量
|
|
if (Purchase>0)
|
|
{
|
|
cmd.Transaction.Commit();
|
|
}
|
|
else
|
|
{
|
|
cmd.Transaction.Rollback();
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
}
|