|
|
@ -733,6 +733,62 @@ namespace ICSSoft.DataProject |
|
|
|
throw new Exception(string.Format(language.GetNameByCode("WMSAPIInfo171"), LotNo)); |
|
|
|
} |
|
|
|
newlocationcode = dt.Rows[0]["FromLocationCode"].ToString(); |
|
|
|
sql += @" IF NOT EXISTS(SELECT F_Account FROM Sys_SRM_User WHERE F_Account='{2}' AND F_Location='{1}')
|
|
|
|
BEGIN |
|
|
|
RAISERROR('" + string.Format(language.GetNameByCode("WMSAPIInfo060"), "{2}") + @"',16,1); |
|
|
|
RETURN |
|
|
|
END |
|
|
|
|
|
|
|
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=(select a.FromLocationCode FROM ICSWareHouseLotInfoLog a WHERE a.LotNo='CP-41100212' AND a.WorkPoint='UFDATA_999_2021' AND a.id='{5}' |
|
|
|
AND a.FromLocationCode='" + locationcode + @"')) |
|
|
|
BEGIN |
|
|
|
UPDATE ICSWareHouseLotInfo SET Quantity=ISNULL(Quantity,0)+'{3}' |
|
|
|
WHERE LotNo='{0}' AND WorkPoint='{1}' |
|
|
|
END |
|
|
|
ELSE |
|
|
|
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',f.F_Account ,f.F_RealName ,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 |
|
|
|
INNER JOIN Sys_SRM_User f ON f.F_Account='{2}' AND a.WorkPoint=f.F_Location |
|
|
|
WHERE a.LotNo='{0}' AND a.WorkPoint='{1}' |
|
|
|
END";
|
|
|
|
sql = string.Format(sql, LotNo, WorkPoint, User, Quantity, newlocationcode, LogID); |
|
|
|
} |
|
|
|
else if (BusinessCode == TransTypeEnum.MOStockINByProductNoTrans.GetDescription<DBValue>()) |
|
|
|
{ |
|
|
|
sql += @" IF NOT EXISTS(SELECT F_Account FROM Sys_SRM_User WHERE F_Account='{2}' AND F_Location='{1}')
|
|
|
|
BEGIN |
|
|
|
RAISERROR('" + string.Format(language.GetNameByCode("WMSAPIInfo060"), "{2}") + @"',16,1); |
|
|
@ -777,14 +833,14 @@ namespace ICSSoft.DataProject |
|
|
|
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',f.F_Account ,f.F_RealName ,SYSDATETIME() ,a.WorkPoint ,'' |
|
|
|
FROM ICSInventoryLot a |
|
|
|
INNER JOIN ICSInventoryLotDetail b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint |
|
|
|
LEFT 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 |
|
|
|
INNER JOIN Sys_SRM_User f ON f.F_Account='{2}' AND a.WorkPoint=f.F_Location |
|
|
|
WHERE a.LotNo='{0}' AND a.WorkPoint='{1}' |
|
|
|
END";
|
|
|
|
sql = string.Format(sql, LotNo, WorkPoint, User, Quantity, newlocationcode); |
|
|
|
sql = string.Format(sql, LotNo, WorkPoint, User, Quantity, LocationCode); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
@ -915,6 +971,35 @@ namespace ICSSoft.DataProject |
|
|
|
";
|
|
|
|
sql = string.Format(sql, LotNo, WorkPoint, User, Identification, TransType, BusinessCode, Quantity, LogID); |
|
|
|
|
|
|
|
if (!DBHelper.ExecuteNonQuery(sql, cmd)) |
|
|
|
{ |
|
|
|
throw new Exception(language.GetNameByCode("WMSAPIInfo166")); |
|
|
|
} |
|
|
|
} |
|
|
|
else if (BusinessCode == TransTypeEnum.MOStockINByProductNoTrans.GetDescription<DBValue>()) |
|
|
|
{ |
|
|
|
///添加日志
|
|
|
|
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,LogID) |
|
|
|
SELECT NEWID(),'{3}',b.TransCode,b.TransSequence,a.LotNo ,a.InvCode , |
|
|
|
'','',c.WarehouseCode,c.LocationCode,'{6}', |
|
|
|
'','0','{4}','{5}','0','', |
|
|
|
'','','',f.F_Account ,f.F_RealName , |
|
|
|
SYSDATETIME() ,a.WorkPoint ,'','{7}' |
|
|
|
FROM ICSInventoryLot a |
|
|
|
LEFT 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 |
|
|
|
INNER JOIN Sys_SRM_User f ON f.F_Account='{2}' AND a.WorkPoint=f.F_Location |
|
|
|
WHERE a.LotNo='{0}' AND a.WorkPoint='{1}' |
|
|
|
";
|
|
|
|
|
|
|
|
sql = string.Format(sql, LotNo, WorkPoint, User, Identification, TransType, BusinessCode, Quantity, LogID); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!DBHelper.ExecuteNonQuery(sql, cmd)) |
|
|
|
{ |
|
|
|
throw new Exception(language.GetNameByCode("WMSAPIInfo166")); |
|
|
@ -991,8 +1076,7 @@ namespace ICSSoft.DataProject |
|
|
|
{ |
|
|
|
throw new Exception(language.GetNameByCode("WMSAPIInfo166")); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|