lilili 2 years ago
parent
commit
cc3a209b79
  1. 47
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSPurchaseService.cs
  2. 70
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs
  3. 2
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSUserPowerService.cs
  4. 233
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSWareHouseLotInfoService.cs
  5. 21
      ICSSoft.WMS.WebAPI/ICSSoft.Entity/ForkLiftStartTaskModel.cs
  6. 2
      ICSSoft.WMS.WebAPI/ICSSoft.Entity/ICSSoft.Entity.csproj
  7. 39
      ICSSoft.WMS.WebAPI/ICSSoft.Entity/LOTStockForkLiftModel.cs
  8. 42
      ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Controllers/WMSBarCoreController.cs
  9. 2
      ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Web.config

47
ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSPurchaseService.cs

@ -406,6 +406,53 @@ namespace ICSSoft.DataProject
}
#endregion
#region 叉车采购入库
/// <summary>
/// 叉车采购入库
/// </summary>
/// <param name="TransCode"></param>
/// <param name="TransSequence"></param>
/// <param name="Quantity"></param>
/// <param name="WorkPoint"></param>
/// <param name="cmd"></param>
public static void DeliveryNoticeForkLift(string ContainerCode, SqlCommand cmd, Dictionary<string, string> language)
{
try
{
string lotsql = @" select A.LotNo,C.Quantity,B.WorkPoint from ICSContainerLot A
LEFT JOIN ICSContainer B ON B.ID=A.ContainerID AND B.WorkPoint=A.WorkPoint
LEFT JOIN ICSInventoryLot C ON C.LotNo=A.LotNo AND C.WorkPoint=A.WorkPoint
where B.ContainerCode='{0}'";
lotsql = string.Format(lotsql, ContainerCode);
DataTable lotdt = DBHelper.SQlReturnData(lotsql, cmd);
foreach (DataRow dr in lotdt.Rows)
{
string sql = @" UPDATE c SET RCVQuantity=ISNULL(RCVQuantity,0)+'{2}'
FROM ICSInventoryLot a
INNER JOIN ICSInventoryLotDetail b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint
INNER JOIN ICSDeliveryNotice c ON b.TransCode=c.DNCode AND b.TransSequence=c.Sequence AND b.WorkPoint=c.WorkPoint
WHERE a.LotNo='{0}' AND a.WorkPoint='{1}' AND c.DNType='1'
IF EXISTS(SELECT a.LotNo FROM ICSInventoryLot a
INNER JOIN ICSInventoryLotDetail b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint
INNER JOIN ICSDeliveryNotice c ON b.TransCode=c.DNCode AND b.TransSequence=c.Sequence AND b.WorkPoint=c.WorkPoint
WHERE a.LotNo='{0}' AND a.WorkPoint='{1}' AND c.DNType='1' AND c.Quantity<c.RCVQuantity)
BEGIN
RAISERROR('" + language.GetNameByCode("WMSAPIInfo083") + @"',16,1);
END";
sql = string.Format(sql, dr["LotNo"].ToString(), dr["WorkPoint"].ToString(), dr["Quantity"].ToString());
if (!DBHelper.ExecuteNonQuery(sql, cmd))
{
throw new Exception(language.GetNameByCode("WMSAPIInfo079"));//"到货单更新失败!");
}
}
}
catch (Exception)
{
throw;
}
}
#endregion
#region 采购拒收
/// <summary>
/// 采购拒收

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

@ -1121,7 +1121,8 @@ namespace ICSSoft.DataProject
a.InvCode,
inv.InvName,
inv.InvStd,
a.Quantity
a.Quantity,
con.LocationCode
FROM ICSWareHouseLotInfo a
LEFT JOIN ICSContainerLot conlot ON a.LotNo=conlot.LotNo AND a.WorkPoint=conlot.WorkPoint
LEFT JOIN ICSContainer con ON conlot.ContainerID=con.ID AND conlot.WorkPoint=con.WorkPoint
@ -2871,6 +2872,69 @@ namespace ICSSoft.DataProject
}
}
/// <summary>
/// 叉车出入库
/// </summary>BusinessCode,TransType 两个类型
/// <param name="JsonData"></param>
/// <returns></returns>
public static DataTable LOTStockChangeForkLift(LOTStockForkLiftModel 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;
string BusinessCode = string.Empty;
try
{
string TransType = string.Empty;
string Identification = Guid.NewGuid().ToString();
TransType = JsonData.TaskType;
if (TransType == "PTWY")
{
//更新源头单据数量
ICSPurchaseService.DeliveryNoticeForkLift(JsonData.PalletID, cmd, language);
BusinessCode = TransTypeEnum.DeliveryNotice.GetDescription<DBValue>();
//入库
ICSWareHouseLotInfoService.WareHouseLotInfoUpForkLift(Identification, JsonData.DestBin, JsonData.PalletID,
"叉车", "采购入库-采购到货单", "2", cmd, language);
}
//上传ERP
if (Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["UploadERP"]))
{
//审核的到货单
if (TransType == TransTypeEnum.DeliveryNotice.GetDescription())
ICSPurchaseService.DeliveryNoticeInERP(TransType, Identification, cmd, language, BusinessCode);
}
DataTable table = GetData(Identification, 1, cmd);
cmd.Transaction.Commit();
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();
}
}
}
/// <summary>
/// 下架
/// </summary>
/// <param name="JsonData"></param>
@ -6885,7 +6949,7 @@ WHERE WorkPoint='{0}' AND Quantity>ISNULL(TransferQuantity, 0) order by Transfer
{
msg = string.Format(language.GetNameByCode("WMSAPIInfo203"));//"推荐库位不能为空!"
}
if (item.LocationCode == "")
if (item.LocationCode == "" && item.ContainerType != "窄巷道叉车(木托盘)")
{
msg = string.Format(language.GetNameByCode("WMSAPIInfo206"));//"位置编码不能为空!"
}
@ -6900,7 +6964,7 @@ WHERE WorkPoint='{0}' AND Quantity>ISNULL(TransferQuantity, 0) order by Transfer
if (TransType == TransTypeEnum.ContainerBind.GetDescription())
{
//料架条码绑定
ICSWareHouseLotInfoService.ContainerBind(item.LotNo, item.ContainerCode, item.ContainerType, item.LocationCode, item.User, item.WorkPoint, cmd, language);
ICSWareHouseLotInfoService.ContainerBind(item.LotNo, item.ContainerCode, item.ContainerType, item.LocationCode, item.RecomendBinCode, item.User, item.WorkPoint, cmd, language);
}
else
{

2
ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSUserPowerService.cs

@ -111,7 +111,7 @@ namespace ICSSoft.DataProject
if (string.IsNullOrWhiteSpace(info.WorkPointCode))
throw new Exception(language.GetNameByCode("WMSAPIInfo004"));//"站点不能为空!"
sql = @"SELECT ID,ColCode,ColName,Enable,MTIME,MUSER,MUSERName,WorkPoint,EATTRIBUTE1
FROM ICSExtensionEnable WHERE WorkPoint='{0}'";
FROM ICSExtensionEnable WHERE WorkPoint='{0}'and Enable='1'";
sql = string.Format(sql, info.WorkPointCode);
dt = DBHelper.SQlReturnData(sql, cmd);

233
ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSWareHouseLotInfoService.cs

@ -413,7 +413,120 @@ namespace ICSSoft.DataProject
throw;
}
}
/// <summary>
/// 添加库存
/// </summary>
/// <param name="LocationCode"></param>
/// <param name="LotNo"></param>
/// <param name="Quantity"></param>
/// <param name="User"></param>
/// <param name="WorkPoint"></param>
/// <param name="TransType"></param>
/// <param name="BusinessCode"></param>
/// <param name="cmd"></param>
/// <param name="jointLotNo"></param>
public static void WareHouseLotInfoUpForkLift(string Identification, string LocationCode, string ContainerCode, string User,
string TransType, string BusinessCode, SqlCommand cmd, Dictionary<string, string> language)
{
try
{
#region 正常入库
///添加库存(原条码退回,更新库存;新条码直接入库)
//stirng locationcode = "";
string sql = string.Empty;
string locationcode = "";
string lotsql = @" select A.LotNo,C.Quantity,B.WorkPoint from ICSContainerLot A
LEFT JOIN ICSContainer B ON B.ID=A.ContainerID AND B.WorkPoint=A.WorkPoint
LEFT JOIN ICSInventoryLot C ON C.LotNo=A.LotNo AND C.WorkPoint=A.WorkPoint
where B.ContainerCode='{0}'";
lotsql = string.Format(lotsql, ContainerCode);
DataTable lotdt = DBHelper.SQlReturnData(lotsql, cmd);
foreach (DataRow dr in lotdt.Rows)
{
sql = @"
IF EXISTS(SELECT a.LotNo FROM ICSWareHouseLotInfo a WHERE a.LotNo='{0}' AND a.WorkPoint='{1}')
BEGIN
IF EXISTS(SELECT a.LotNO FROM ICSWareHouseLotInfo a WHERE a.LotNo='{0}' AND a.WorkPoint='{1}' AND a.Quantity=0)
BEGIN
UPDATE a SET a.Quantity=ISNULL(a.Quantity,0)+'{3}',WarehouseCode=e.WarehouseCode,LocationCode=d.LocationCode
From ICSWareHouseLotInfo a
INNER JOIN ICSLocation d ON d.LocationCode='{4}' AND a.WorkPoint=d.WorkPoint
INNER JOIN ICSWarehouse e ON d.WHID=e.ID AND d.WorkPoint=e.WorkPoint
WHERE a.LotNo='{0}' AND a.WorkPoint='{1}'
END
ELSE IF EXISTS(SELECT a.LotNO FROM ICSWareHouseLotInfo a WHERE a.LotNo='{0}' AND a.WorkPoint='{1}' AND a.LocationCode='{4}')
BEGIN
UPDATE ICSWareHouseLotInfo SET Quantity=ISNULL(Quantity,0)+'{3}'
WHERE LotNo='{0}' AND WorkPoint='{1}'
END
ELSE IF('" + locationcode + @"' != '{4}')
BEGIN
RAISERROR('" + string.Format(language.GetNameByCode("WMSAPIInfo395"), "{4}", locationcode) + @"', 16, 1);
RETURN
END
END
ELSE
BEGIN
IF EXISTS(SELECT il.InvCode FROM ICSInventoryLocation il
INNER JOIN ICSInventoryLot a ON a.InvCode=il.InvCode AND a.WorkPoint=il.WorkPoint
WHERE il.Enable='1' AND a.LotNo='{0}' AND a.WorkPoint='{1}')
BEGIN
IF NOT EXISTS(SELECT il.InvCode FROM ICSInventoryLocation il
INNER JOIN ICSInventoryLot a ON a.InvCode=il.InvCode AND a.WorkPoint=il.WorkPoint
WHERE il.Enable='1' AND a.LotNo='{0}' AND a.WorkPoint='{1}' AND il.LocationCode='{4}')
BEGIN
RAISERROR('" + language.GetNameByCode("WMSAPIInfo180") + @"',16,1);
RETURN
END
END
INSERT INTO ICSWareHouseLotInfo(ID,LotNO,WarehouseCode,LocationCode,InvCode,Quantity,InDate,LockQuantity,MUSER,MUSERName,MTIME,WorkPoint,EATTRIBUTE1)
SELECT NEWID(),a.LotNo ,e.WarehouseCode,d.LocationCode,a.InvCode ,'{3}',SYSDATETIME(),'0','{2}','{2}',SYSDATETIME() ,a.WorkPoint ,''
FROM ICSInventoryLot a
INNER JOIN ICSInventoryLotDetail b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint
--INNER JOIN ICSOApplyNegDetail c ON b.TransCode=c.OApplyNegCode AND b.TransSequence=c.Sequence AND b.WorkPoint=c.WorkPoint
INNER JOIN ICSLocation d ON d.LocationCode='{4}' AND a.WorkPoint=d.WorkPoint
INNER JOIN ICSWarehouse e ON d.WHID=e.ID AND d.WorkPoint=e.WorkPoint
WHERE a.LotNo='{0}' AND a.WorkPoint='{1}'
END";
sql = string.Format(sql, dr["LotNo"].ToString(), dr["WorkPoint"].ToString(), User, dr["Quantity"].ToString(), LocationCode);
if (!DBHelper.ExecuteNonQuery(sql, cmd))
{
throw new Exception(language.GetNameByCode("WMSAPIInfo165"));
}
///添加日志
sql = @"INSERT INTO ICSWareHouseLotInfoLog(ID,Identification,TransCode,TransSequence,LotNo,InvCode,
FromWarehouseCode,FromLocationCode,ToWarehouseCode,ToLocationCode,Quantity,
Memo,Lock,TransType,BusinessCode,ERPUpload,ERPID,
ERPDetailID,ERPCode,ERPSequence,MUSER,MUSERName,
MTIME,WorkPoint,EATTRIBUTE1)
SELECT NEWID(),'{3}',b.TransCode,b.TransSequence,a.LotNo ,a.InvCode ,
'','',c.WarehouseCode,c.LocationCode,'{6}',
'','0','{4}','{5}','0','',
'','','','{2}','{2}',
SYSDATETIME() ,a.WorkPoint ,''
FROM ICSInventoryLot a
INNER JOIN ICSInventoryLotDetail b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint
INNER JOIN ICSWareHouseLotInfo c ON a.LotNo=c.LotNo AND a.WorkPoint=c.WorkPoint
WHERE a.LotNo='{0}' AND a.WorkPoint='{1}'
";
sql = string.Format(sql, dr["LotNo"].ToString(), dr["WorkPoint"].ToString(), User, Identification, TransType, BusinessCode, dr["Quantity"].ToString());
if (!DBHelper.ExecuteNonQuery(sql, cmd))
{
throw new Exception(language.GetNameByCode("WMSAPIInfo166"));
}
}
#endregion
}
catch (Exception)
{
throw;
}
}
/// <summary>
/// 添加库存(货柜)
/// </summary>
@ -2369,38 +2482,104 @@ namespace ICSSoft.DataProject
/// <param name="WorkPoint"></param>
/// <param name="cmd"></param>
/// <param name="language"></param>
public static void ContainerBind(string LotNo, string ContainerCode, string ContainerType, string LocationCode, string User, string WorkPoint, SqlCommand cmd, Dictionary<string, string> language)
public static void ContainerBind(string LotNo, string ContainerCode, string ContainerType, string LocationCode,string RecomendBinCode, string User, string WorkPoint, SqlCommand cmd, Dictionary<string, string> language)
{
try
{
///添加日志
string sql = @"IF NOT EXISTS(SELECT F_Account FROM Sys_SRM_User WHERE F_Account='{3}' AND F_Location='{2}')
BEGIN
RAISERROR('" + string.Format(language.GetNameByCode("WMSAPIInfo060"), "{3}") + @"',16,1);
RETURN
END
IF NOT EXISTS (SELECT * FROM ICSContainerLot WHERE ContainerID=
(SELECT ID FROM ICSContainer WHERE ContainerCode='{1}' AND WorkPoint='{2}'))
BEGIN
update ICSContainer set LocationCode='{4}',EATTRIBUTE1='' where ContainerCode='{1}' AND WorkPoint='{2}'
INSERT INTO ICSContainerLot
(ID,ContainerID,LotNo,MUSER,MUSERName,WorkPoint,MTIME,EATTRIBUTE1)
SELECT NEWID(),ID,'{0}','{3}'
,(SELECT F_RealName FROM Sys_SRM_User WHERE F_Account='{3}' AND F_Location='{2}'),'{2}',GETDATE(),'{4}' FROM ICSContainer
WHERE ContainerCode='{1}' AND WorkPoint='{2}'
END
ELSE
BEGIN
update ICSContainer set LocationCode='{4}',EATTRIBUTE1='' where ContainerCode='{1}' AND WorkPoint='{2}'
UPDATE ICSContainerLot SET LotNo='{0}' WHERE ContainerID=
(SELECT ID FROM ICSContainer WHERE ContainerCode='{1}' AND WorkPoint='{2}')
END
";
sql = string.Format(sql, LotNo, ContainerCode, WorkPoint, User, ContainerType, LocationCode);
if (ContainerType != "窄巷道叉车(木托盘)")
{
string sql = @"IF NOT EXISTS(SELECT F_Account FROM Sys_SRM_User WHERE F_Account='{3}' AND F_Location='{2}')
BEGIN
RAISERROR('" + string.Format(language.GetNameByCode("WMSAPIInfo060"), "{3}") + @"',16,1);
RETURN
END
IF NOT EXISTS (SELECT * FROM ICSContainerLot WHERE ContainerID=
(SELECT ID FROM ICSContainer WHERE ContainerCode='{1}' AND WorkPoint='{2}'))
BEGIN
update ICSContainer set LocationCode='{4}',EATTRIBUTE1='' where ContainerCode='{1}' AND WorkPoint='{2}'
INSERT INTO ICSContainerLot
(ID,ContainerID,LotNo,MUSER,MUSERName,WorkPoint,MTIME,EATTRIBUTE1)
SELECT NEWID(),ID,'{0}','{3}'
,(SELECT F_RealName FROM Sys_SRM_User WHERE F_Account='{3}' AND F_Location='{2}'),'{2}',GETDATE(),'{4}' FROM ICSContainer
WHERE ContainerCode='{1}' AND WorkPoint='{2}'
END
ELSE
BEGIN
update ICSContainer set LocationCode='{4}',EATTRIBUTE1='' where ContainerCode='{1}' AND WorkPoint='{2}'
UPDATE ICSContainerLot SET LotNo='{0}' WHERE ContainerID=
(SELECT ID FROM ICSContainer WHERE ContainerCode='{1}' AND WorkPoint='{2}')
END
";
sql = string.Format(sql, LotNo, ContainerCode, WorkPoint, User, ContainerType, LocationCode);
if (!DBHelper.ExecuteNonQuery(sql, cmd))
if (!DBHelper.ExecuteNonQuery(sql, cmd))
{
throw new Exception("容器:" + ContainerCode + "与条码:" + LotNo + "绑定失败!");
}
}
else
{
throw new Exception("料架:" + ContainerCode + "与条码:" + LotNo + "绑定失败!");
string sql = @"IF NOT EXISTS(SELECT F_Account FROM Sys_SRM_User WHERE F_Account='{3}' AND F_Location='{2}')
BEGIN
RAISERROR('" + string.Format(language.GetNameByCode("WMSAPIInfo060"), "{3}") + @"',16,1);
RETURN
END
IF NOT EXISTS (SELECT * FROM ICSContainerLot WHERE ContainerID=
(SELECT ID FROM ICSContainer WHERE ContainerCode='{1}' AND WorkPoint='{2}'))
BEGIN
INSERT INTO ICSContainerLot
(ID,ContainerID,LotNo,MUSER,MUSERName,WorkPoint,MTIME,EATTRIBUTE1)
SELECT NEWID(),ID,'{0}','{3}'
,(SELECT F_RealName FROM Sys_SRM_User WHERE F_Account='{3}' AND F_Location='{2}'),'{2}',GETDATE(),'{4}' FROM ICSContainer
WHERE ContainerCode='{1}' AND WorkPoint='{2}'
END
ELSE
BEGIN
UPDATE ICSContainerLot SET LotNo='{0}' WHERE ContainerID=
(SELECT ID FROM ICSContainer WHERE ContainerCode='{1}' AND WorkPoint='{2}')
END
";
sql = string.Format(sql, LotNo, ContainerCode, WorkPoint, User, ContainerType, LocationCode);
if (!DBHelper.ExecuteNonQuery(sql, cmd))
{
throw new Exception("容器:" + ContainerCode + "与条码:" + LotNo + "绑定失败!");
}
if (Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["UploadForkLift"]))
{
string ForkLiftUrl = System.Configuration.ConfigurationManager.AppSettings["ForkLiftUrl"];
string Year = DateTime.Now.Year.ToString();
string Month = DateTime.Now.Month.ToString().PadLeft(2, '0');
string Day = DateTime.Now.Day.ToString().PadLeft(2, '0');
string Hour = DateTime.Now.Hour.ToString().PadLeft(2, '0');
string Minute = DateTime.Now.Minute.ToString().PadLeft(2, '0');
string Second = DateTime.Now.Second.ToString().PadLeft(2, '0');
string InspectJosn = "{";
InspectJosn += "\"ID\":\"" + Year + Month + Day + Hour + Minute + Second + "\",";
InspectJosn += "\"ForkliftCode\": \"" + ContainerCode + "\",";
InspectJosn += "\"TaskType\": \"PTWY\",";
InspectJosn += "\"DestBin\": \"" + RecomendBinCode + "\"";
InspectJosn += "}";
RestHelper rest = new RestHelper(ForkLiftUrl, HttpVerb.POST);
rest.PostData = InspectJosn;
string strResult = rest.MakeRequest();
//string resultstr = HTTPHelper.Post(ERPUrl.AGVBineURL, InspectJosn);
ForkLiftStartTaskResultModel result = JsonConvert.DeserializeObject<ForkLiftStartTaskResultModel>(strResult);
if (result.Ret == 1)
{
sql = @"update ICSContainer set LocationCode='{2}',EATTRIBUTE1='已搬运' where ContainerCode='{0}' AND WorkPoint='{1}'";
sql = string.Format(sql, ContainerCode, WorkPoint, LocationCode);
if (!DBHelper.ExecuteNonQuery(sql, cmd))
{
throw new Exception(language.GetNameByCode("WMSAPIInfo207"));//料架状态更新失败
}
}
else
{
throw new Exception(result.RetMsg);
}
}
}
//else
//{
@ -2529,7 +2708,7 @@ namespace ICSSoft.DataProject
/// <param name="WorkPoint"></param>
/// <param name="cmd"></param>
/// <param name="language"></param>
public static void CallAGVStartTask(string ContainerCode,string TransType, string LocationCode, string User, string WorkPoint, SqlCommand cmd, Dictionary<string, string> language)
public static void CallAGVStartTask(string ContainerCode, string TransType, string LocationCode, string User, string WorkPoint, SqlCommand cmd, Dictionary<string, string> language)
{
try
{

21
ICSSoft.WMS.WebAPI/ICSSoft.Entity/ForkLiftStartTaskModel.cs

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ICSSoft.Entity
{
public class ForkLiftStartTaskResultModel
{
/// <summary>
/// 结果编码(0:成功)
/// </summary>
public int Ret { get; set; }
/// <summary>
/// 返回信息
/// </summary>
public string RetMsg { get; set; }
}
}

2
ICSSoft.WMS.WebAPI/ICSSoft.Entity/ICSSoft.Entity.csproj

@ -53,6 +53,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="ForkLiftStartTaskModel.cs" />
<Compile Include="AGVStartTaskModel.cs" />
<Compile Include="BarCodeModel.cs" />
<Compile Include="ControlMode.cs" />
@ -70,6 +71,7 @@
<Compile Include="LotNoMode.cs" />
<Compile Include="LOTStockDownHGModel.cs" />
<Compile Include="AGVPodBindModel.cs" />
<Compile Include="LOTStockForkLiftModel.cs" />
<Compile Include="LOTStockUpHGModel.cs" />
<Compile Include="LOTStockUpCreateIModel.cs" />
<Compile Include="ICSContainer.cs" />

39
ICSSoft.WMS.WebAPI/ICSSoft.Entity/LOTStockForkLiftModel.cs

@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ICSSoft.Entity
{
public class LOTStockForkLiftModel
{
/// <summary>
/// 叉车编号
/// </summary>
public string ForkliftCode { get; set; }
/// <summary>
/// 仓库编号
/// </summary>
public string WareCode { get; set; }
/// <summary>
/// 巷道号
/// </summary>
public string LaneCode { get; set; }
/// <summary>
/// 任务类型【PTWY上架,RETN返仓,INTL移库,PICK出库,INVE盘点】
/// </summary>
public string TaskType { get; set; }
/// <summary>
/// 托盘号
/// </summary>
public string PalletID { get; set; }
/// <summary>
/// 源库位
/// </summary>
public string SourceBin { get; set; }
/// <summary>
/// 目标库位
/// </summary>
public string DestBin { get; set; }
}
}

42
ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Controllers/WMSBarCoreController.cs

@ -492,6 +492,48 @@ namespace ICSSoft.WebAPI.Controllers
return result;
}
// <summary>
/// 上架添加(叉车用)
/// </summary>
/// <param name="JsonData"></param>
/// <returns></returns>
[HttpPost]
[Route("api/LOTStockChangeForkLift/Create")]
public HttpResponseMessage LOTStockChangeForkLift([FromBody] object JsonData)
{
log.Info("上架传入值" + JsonData);
try
{
if (JsonData != null && !string.IsNullOrWhiteSpace(JsonData.ToString()) && JsonData.ToString() != "[]")
{
LOTStockForkLiftModel model = new LOTStockForkLiftModel();
model = JsonConvert.DeserializeObject<LOTStockForkLiftModel>(JsonData.ToString());
//WMSBarCoreService action = new WMSBarCoreService();
//var resultStr = action.LOTStockCreate(model);
var resultStr = ICSSubmitService.LOTStockChangeForkLift(model);
res.Success = true;
res.Message = LanguageHelper.GetNameSingle("WMSAPI001");// "接口调用成功!";
if (resultStr != null && resultStr.Rows.Count > 0 && resultStr.ToString() != "[]")
{
res.Data = resultStr;
}
}
}
catch (Exception ex)
{
log.Error("转换失败:" + ex.ToString());
res.Success = false;
res.Message = ex.Message;
}
finally
{
str = JsonConvert.SerializeObject(res);
result.Content = new StringContent(str, Encoding.GetEncoding("UTF-8"), "application/json");
}
log.Debug("上架返回值:" + str);
return result;
}
/*
/// <summary>
/// 测试获取管控方式

2
ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Web.config

@ -16,8 +16,10 @@
<!--<add key="AGVUrl" value="http://192.168.0.122:8182/rcms/services/rest/hikRpcService/"/>-->
<!--外网-->
<add key="AGVUrl" value="http://58.210.216.118:8182/rcms/services/rest/hikRpcService/"/>
<add key="ForkLiftUrl" value="http://192.168.21.110:8080/vna"/>
<add key="UploadERP" value="true"/>
<add key ="UploadAGV" value="false"/>
<add key ="UploadForkLift" value="true"/>
<add key="webpages:Version" value="3.0.0.0"/>
<add key="webpages:Enabled" value="false"/>
<add key="ClientValidationEnabled" value="true"/>

|||||||
100:0
Loading…
Cancel
Save