diff --git a/CPRNIMS.Domain/Services/Account/UserClaimsManager.cs b/CPRNIMS.Domain/Services/Account/UserClaimsManager.cs index f6341e3..2b124e7 100644 --- a/CPRNIMS.Domain/Services/Account/UserClaimsManager.cs +++ b/CPRNIMS.Domain/Services/Account/UserClaimsManager.cs @@ -26,44 +26,36 @@ namespace CPRNIMS.Domain.Services.Account } public async Task> GetAllUsersProfile() { - try - { - var usersWithRolesAndAttachments = await (from user in _userManager.Users - join userRole in _dbContext.IdentityUserRoles on user.Id equals userRole.UserId into userRoles - from ur in userRoles.DefaultIfEmpty() - join role in _dbContext.Roles on ur.RoleId equals role.Id into roles - from r in roles.DefaultIfEmpty() - join attachment in _dbContext.Attachments on user.Id equals attachment.AttachmentId into attachments - from a in attachments.DefaultIfEmpty() - select new - { - user.Id, - Role = r != null ? r.Name ?? "N/A" : "N/A", - URL = a != null ? a.URL ?? "N/A" : "N/A", - FileName = a != null ? a.FileName ?? "N/A" : "N/A", - user.Company, - user.DepartmentId, - user.UserName, - user.FullName, - user.Email, - user.EmailConfirmed, - Address = user.Address ?? "N/A", - PhoneNumber = user.PhoneNumber ?? "N/A", - user.LockoutEnd, - user.LockoutEnabled, - user.CreatedBy, - user.UpdatedBy, - user.CreatedDate, - user.UpdatedDate - }).ToListAsync(); + var usersWithRolesAndAttachments = await (from user in _userManager.Users + join userRole in _dbContext.IdentityUserRoles on user.Id equals userRole.UserId into userRoles + from ur in userRoles.DefaultIfEmpty() + join role in _dbContext.Roles on ur.RoleId equals role.Id into roles + from r in roles.DefaultIfEmpty() + join attachment in _dbContext.Attachments on user.Id equals attachment.AttachmentId into attachments + from a in attachments.DefaultIfEmpty() + select new + { + user.Id, + Role = r != null ? r.Name ?? "N/A" : "N/A", + URL = a != null ? a.URL ?? "404userImage" : "404userImage", + FileName = a != null ? a.FileName ?? "404userImage.jpg" : "404userImage.jpg", + user.Company, + user.DepartmentId, + user.UserName, + user.FullName, + user.Email, + user.EmailConfirmed, + Address = user.Address ?? "N/A", + PhoneNumber = user.PhoneNumber ?? "N/A", + user.LockoutEnd, + user.LockoutEnabled, + user.CreatedBy, + user.UpdatedBy, + user.CreatedDate, + user.UpdatedDate + }).ToListAsync(); - return usersWithRolesAndAttachments.Cast().ToList(); - } - catch (Exception ex) - { - ex.ToString(); - throw; - } + return usersWithRolesAndAttachments.Cast().ToList(); } public async Task AssignUserRole(RegisterModel registerModel) { diff --git a/CPRNIMS.Domain/Services/Items/Item.cs b/CPRNIMS.Domain/Services/Items/Item.cs index d75bedd..98e90f5 100644 --- a/CPRNIMS.Domain/Services/Items/Item.cs +++ b/CPRNIMS.Domain/Services/Items/Item.cs @@ -1,6 +1,5 @@ using CPRNIMS.Domain.Contracts.Items; using CPRNIMS.Infrastructure.Database; -using CPRNIMS.Infrastructure.Dto.Canvass; using CPRNIMS.Infrastructure.Dto.Items; using CPRNIMS.Infrastructure.Entities.Account; using CPRNIMS.Infrastructure.Entities.Items; diff --git a/CPRNIMS.Domain/Services/PO/PurchaseOrder.cs b/CPRNIMS.Domain/Services/PO/PurchaseOrder.cs index c7c7892..0e0b9bb 100644 --- a/CPRNIMS.Domain/Services/PO/PurchaseOrder.cs +++ b/CPRNIMS.Domain/Services/PO/PurchaseOrder.cs @@ -2,7 +2,6 @@ using CPRNIMS.Infrastructure.Database; using CPRNIMS.Infrastructure.Dto.Canvass.Response; using CPRNIMS.Infrastructure.Dto.PO; -using CPRNIMS.Infrastructure.Dto.PR; using CPRNIMS.Infrastructure.Entities.Canvass; using CPRNIMS.Infrastructure.Entities.Common; using CPRNIMS.Infrastructure.Entities.LocalDb.NonInvent; @@ -494,7 +493,7 @@ namespace CPRNIMS.Domain.Services.PO await _dbContext.Database .ExecuteSqlRawAsync("EXEC PostPutCustomPO @UserId,@POTypeId,@PONumber,@PRDetailsId,@Specification,@PRNo,@PORemarks,@IncoTermsId," + $"@PODId,@ProfInvoiceNo,@ProfInvoiceDate,@PaymentTermsId,@ShippingInstructionId,@SupplierId,@DeliveryDate,@Discount,@Amount," + - $"@UnitPrice,@Quantity,@DeliverTo, @MessCode OUTPUT, @Message OUTPUT", + $"@UnitPrice,@Quantity,@DeliverTo,@CountryOrigin, @MessCode OUTPUT, @Message OUTPUT", new SqlParameter("@UserId", pODto.UserId), new SqlParameter("@POTypeId", pODto.POTypeId), new SqlParameter("@PONumber", formattedPONumber), @@ -516,6 +515,7 @@ namespace CPRNIMS.Domain.Services.PO new SqlParameter("@UnitPrice", pODto.UnitPrice), new SqlParameter("@Quantity", pODto.Quantity), new SqlParameter("@DeliverTo", pODto.DeliverTo), + new SqlParameter("@CountryOrigin", pODto.CountryOrigin ?? "N/A"), messCode, message); @@ -544,7 +544,7 @@ namespace CPRNIMS.Domain.Services.PO await _dbContext.Database .ExecuteSqlRawAsync("EXEC PutExistingPO @UserId,@POTypeId,@PONumber,@PRDetailsId,@Specification,@PRNo,@PORemarks,@IncoTermsId," + $"@PODId,@ProfInvoiceNo,@ProfInvoiceDate,@PaymentTermsId,@ShippingInstructionId,@SupplierId,@DeliveryDate,@Discount,@Amount," + - $"@UnitPrice,@Quantity,@DeliverTo,@IsRemoved, @MessCode OUTPUT, @Message OUTPUT", + $"@UnitPrice,@Quantity,@DeliverTo,@IsRemoved,@CountryOrigin, @MessCode OUTPUT, @Message OUTPUT", new SqlParameter("@UserId", pODto.UserId), new SqlParameter("@POTypeId", pODto.POTypeId), new SqlParameter("@PONumber", pODto.PONo), @@ -567,6 +567,7 @@ namespace CPRNIMS.Domain.Services.PO new SqlParameter("@Quantity", pODto.Quantity), new SqlParameter("@DeliverTo", pODto.DeliverTo), new SqlParameter("@IsRemoved", isRemoved), + new SqlParameter("@CountryOrigin", pODto.CountryOrigin ?? "N/A"), messCode, message); @@ -633,7 +634,8 @@ namespace CPRNIMS.Domain.Services.PO DeliveryDate = PODto.DeliveryDate, DeliverTo = PODto.DeliverTo ?? "N/A", Specification = specification, - IsUpdate = PODto.IsUpdate + IsUpdate = PODto.IsUpdate, + CountryOrigin=PODto.CountryOrigin }; } public async Task PostSuppDocRequirements(PODto poDto) diff --git a/CPRNIMS.Infrastructure/Dto/PO/PODto.cs b/CPRNIMS.Infrastructure/Dto/PO/PODto.cs index b914fcf..812f2ad 100644 --- a/CPRNIMS.Infrastructure/Dto/PO/PODto.cs +++ b/CPRNIMS.Infrastructure/Dto/PO/PODto.cs @@ -115,5 +115,6 @@ namespace CPRNIMS.Infrastructure.Dto.PO public DateTime From { get; set; } public string? OtherChargesName { get; set; } public string? IncotermsName { get; set; } + public string? CountryOrigin { get; set; } } } diff --git a/CPRNIMS.Infrastructure/Entities/Items/ItemCart.cs b/CPRNIMS.Infrastructure/Entities/Items/ItemCart.cs index f03c1eb..7a78c29 100644 --- a/CPRNIMS.Infrastructure/Entities/Items/ItemCart.cs +++ b/CPRNIMS.Infrastructure/Entities/Items/ItemCart.cs @@ -18,13 +18,10 @@ namespace CPRNIMS.Infrastructure.Entities.Items public string? UserId { get; set; } public string? ItemName { get; set; } public string? ItemCategoryName { get; set; } - public byte PRTypeId { get; set; } + public string? ItemDescription { get; set; } public decimal Qty { get; set; } public int CartItemCount { get; set; } public int UOMId { get; set; } - public int ItemColorId { get; set; } - public short ItemCategoryId { get; set; } - public byte PackagingTypeId { get; set; } public long ItemAttachId { get; set; } public string? CreatedBy { get; set; } public DateTime CreatedDate { get; set; } diff --git a/CPRNIMS.Infrastructure/Entities/PO/CreatedPOPerSupId.cs b/CPRNIMS.Infrastructure/Entities/PO/CreatedPOPerSupId.cs index 62c8bca..de9c001 100644 --- a/CPRNIMS.Infrastructure/Entities/PO/CreatedPOPerSupId.cs +++ b/CPRNIMS.Infrastructure/Entities/PO/CreatedPOPerSupId.cs @@ -21,7 +21,6 @@ namespace CPRNIMS.Infrastructure.Entities.PO public string? ItemName { get; set; } public string? ItemDescription { get; set; } public string? UOMName { get; set; } - public bool IsActive { get; set; } public long ItemNo { get; set; } public decimal Qty { get; set; } public string? Remarks { get; set; } @@ -44,12 +43,13 @@ namespace CPRNIMS.Infrastructure.Entities.PO public DateTime ProfInvoiceDate { get; set; } public string? PortOfDischarge { get; set; } public string? PaymentTerms { get; set; } - public string? ShippingInstruction { get; set; } + public byte ShippingInstructionId { get; set; } public string? DeliverTo { get; set; } public string? IncoTerms { get; set; } public string? ProfInvoiceNo { get; set; } public string? DocRequirements { get; set; } public string? AmountInWords { get; set; } public decimal Amount { get; set; } + public string? CountryOrigin { get; set; } } } diff --git a/CPRNIMS.Infrastructure/Entities/PO/POHeader.cs b/CPRNIMS.Infrastructure/Entities/PO/POHeader.cs index c7f35ce..3d1be6c 100644 --- a/CPRNIMS.Infrastructure/Entities/PO/POHeader.cs +++ b/CPRNIMS.Infrastructure/Entities/PO/POHeader.cs @@ -30,9 +30,11 @@ namespace CPRNIMS.Infrastructure.Entities.PO public string? UserId { get; set; } public byte Status { get; set; } public byte PaymentTermsId { get; set; } + public byte ShippingInstructionId { get; set; } public byte PODId { get; set; } public byte POTypeId { get; set; } public byte IncoTermsId { get; set; } public string? IncotermsName { get; set; } + public string? CountryOrigin { get; set; } } } diff --git a/CPRNIMS.Infrastructure/ViewModel/PO/POVM.cs b/CPRNIMS.Infrastructure/ViewModel/PO/POVM.cs index 352da63..5489a00 100644 --- a/CPRNIMS.Infrastructure/ViewModel/PO/POVM.cs +++ b/CPRNIMS.Infrastructure/ViewModel/PO/POVM.cs @@ -140,6 +140,7 @@ namespace CPRNIMS.Infrastructure.ViewModel.PO public string? Password { get; set; } public string? Server { get; set; } public string? AggreQty { get; set; } + public string? CountryOrigin { get; set; } public DocRequirementList? DocRequiredList { get; set; } public POChargesList? OtherChargesList { get; set; } public PRItemList? PRItemList { get; set; } diff --git a/CPRNIMS.WebApi/Controllers/Account/AccountController.cs b/CPRNIMS.WebApi/Controllers/Account/AccountController.cs index 4620ddd..fa00544 100644 --- a/CPRNIMS.WebApi/Controllers/Account/AccountController.cs +++ b/CPRNIMS.WebApi/Controllers/Account/AccountController.cs @@ -4,7 +4,6 @@ using CPRNIMS.Domain.Services.Account; using CPRNIMS.Infrastructure.Dto.Account; using CPRNIMS.Infrastructure.Entities.Account; using CPRNIMS.Infrastructure.Entities.Common; -using CPRNIMS.Infrastructure.Helper; using CPRNIMS.Infrastructure.Models; using CPRNIMS.Infrastructure.Models.Account; using CPRNIMS.Infrastructure.Models.Common; @@ -19,7 +18,7 @@ using System.Security.Claims; namespace CPRNIMS.WebApi.Controllers.Account { - [Security.AuthorizeRoles("Account")] + [AuthorizeRoles("Account")] public class AccountController : Base.BaseController { private readonly ErrorMessageService _errorMessageService; @@ -150,189 +149,147 @@ namespace CPRNIMS.WebApi.Controllers.Account [HttpGet("GetUserById/{userId}")] public async Task GetUserProfileById(string userId) { - try + var userWithUrl = await _userManager.Users + .Include(u => u.Attachment) + .Where(u => u.Id == userId) + .Select(u => new + { + u.Id, + u.UserName, + u.FullName, + u.Email, + u.Department, + u.Company, + u.LockoutEnabled, + u.CreatedBy, + u.PhoneNumber, + u.Address, + u.UpdatedBy, + u.CreatedDate, + u.UpdatedDate, + URL = u.Attachment != null ? u.Attachment.URL : string.Empty + }) + .ToListAsync(); + + if (userWithUrl == null) { - var userWithUrl = await _userManager.Users - .Include(u => u.Attachment) - .Where(u => u.Id == userId) - .Select(u => new - { - u.Id, - u.UserName, - u.FullName, - u.Email, - // u.Role, - u.Department, - u.Company, - u.LockoutEnabled, - u.CreatedBy, - u.PhoneNumber, - u.Address, - u.UpdatedBy, - u.CreatedDate, - u.UpdatedDate, - URL = u.Attachment != null ? u.Attachment.URL : string.Empty - }) - .ToListAsync(); - - if (userWithUrl == null) - { - // Handle the case where the user with the specified ID is not found - return NotFound(); - } - - return Ok(userWithUrl); - - } - catch (Exception ex) - { - var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); - await PostErrorMessage(message, "WebApi"); - throw; + return NotFound(); } + + return Ok(userWithUrl); } [HttpGet("GetAllUser")] public async Task GetAllUsers() { - try + var usersWithUrl = await _userClaimsManager.GetAllUsersProfile(); + + if (usersWithUrl == null) { - var usersWithUrl = await _userClaimsManager.GetAllUsersProfile(); - - if (usersWithUrl == null) - { - return NotFound(); - } - - return Ok(usersWithUrl); - - } - catch (Exception ex) - { - var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); - await PostErrorMessage(message, "WebApi"); - throw; + return NotFound(); } + + return Ok(usersWithUrl); } [HttpPost("GetUserRolesClaims")] public async Task GetUserRolesClaims([FromBody] LoginModel model) { - try + var user = await _userManager.Users + .Include(u => u.Department) + .SingleOrDefaultAsync(u => u.UserName == model.Username.ToLower()); + + if (user != null && await _userManager.CheckPasswordAsync(user, model.Password)) { - var user = await _userManager.Users - .Include(u => u.Department) // Include the Department - .SingleOrDefaultAsync(u => u.UserName == model.Username.ToLower()); + var userRoles = await _userManager.GetRolesAsync(user); - if (user != null && await _userManager.CheckPasswordAsync(user, model.Password)) - { - var userRoles = await _userManager.GetRolesAsync(user); + var roleDetails = await _roleManager.Roles + .Where(r => userRoles.Contains(r.Name)) + .Select(r => new { r.Id, r.Name }) + .ToListAsync(); - // Fetch the full role details from the Roles table - var roleDetails = await _roleManager.Roles - .Where(r => userRoles.Contains(r.Name)) - .Select(r => new { r.Id, r.Name }) - .ToListAsync(); - - var myClaims = await _userManager.GetClaimsAsync(user); - var authClaims = new List + var myClaims = await _userManager.GetClaimsAsync(user); + var authClaims = new List { new Claim(ClaimTypes.Name, user.UserName), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), }; - var response = new UserClaimsResponse + var response = new UserClaimsResponse + { + UserId = user.Id, + UserRoles = roleDetails.Select(r => new UserRoleData { - UserId = user.Id, - UserRoles = roleDetails.Select(r => new UserRoleData - { - RoleId = r.Id, - RoleName = r.Name - }).ToList(), - OtherClaims = myClaims.Select(claim => new UserClaimData - { - issuer = claim.Issuer, - originalIssuer = claim.OriginalIssuer, - properties = claim.Properties.ToDictionary(p => p.Key, p => p.Value), - subject = claim.Subject?.Name, - type = claim.Type, - value = claim.Value, - valueType = claim.ValueType, - company = user.Company, - FullName=user.FullName, - Department = user.Department?.Department, - }).ToList() - }; + RoleId = r.Id, + RoleName = r.Name + }).ToList(), + OtherClaims = myClaims.Select(claim => new UserClaimData + { + issuer = claim.Issuer, + originalIssuer = claim.OriginalIssuer, + properties = claim.Properties.ToDictionary(p => p.Key, p => p.Value), + subject = claim.Subject?.Name, + type = claim.Type, + value = claim.Value, + valueType = claim.ValueType, + company = user.Company, + FullName = user.FullName, + Department = user.Department?.Department, + }).ToList() + }; - return Ok(response); - } - return Unauthorized(); - } - catch (Exception ex) - { - var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); - await PostErrorMessage(message + "GetUserRolesClaims", "WebApi"); - throw; + return Ok(response); } + return Unauthorized(); } [HttpPost("GetTClaim")] public async Task GetTClaim([FromBody] LoginModel model) { - try + var user = await _userManager.FindByNameAsync(model.Username.ToLower()); + + if (user != null && await _userManager.CheckPasswordAsync(user, model.Password)) { - var user = await _userManager.FindByNameAsync(model.Username.ToLower()); + var userRoles = await _userManager.GetRolesAsync(user); - if (user != null && await _userManager.CheckPasswordAsync(user, model.Password)) + try { - var userRoles = await _userManager.GetRolesAsync(user); - - try - { - var authClaims = new List + var authClaims = new List { new Claim(ClaimTypes.Name, user.UserName), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), }; - foreach (var userRole in userRoles) - { - authClaims.Add(new Claim(ClaimTypes.Role, userRole)); - } - - var token = GetToken(authClaims); - - var roles = token.Claims - .Where(c => c.Type == ClaimTypes.Role) - .Select(c => c.Value) - .ToList(); - - return Ok(new - { - roles - }); - } - catch (Exception ex) + foreach (var userRole in userRoles) { - var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); - var error = new ErrorMessage - { - Application = "WebApi", - Message = message, - CreatedDate = DateTime.Now, - CreatedBy = "Approval", - }; - await _errorMessageService.PostErrorMessage(error); - throw; + authClaims.Add(new Claim(ClaimTypes.Role, userRole)); } - } - return Unauthorized(); + var token = GetToken(authClaims); + + var roles = token.Claims + .Where(c => c.Type == ClaimTypes.Role) + .Select(c => c.Value) + .ToList(); + + return Ok(new + { + roles + }); + } + catch (Exception ex) + { + var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); + var error = new ErrorMessage + { + Application = "WebApi", + Message = message, + CreatedDate = DateTime.Now, + CreatedBy = "Approval", + }; + await _errorMessageService.PostErrorMessage(error); + throw; + } } - catch (Exception ex) - { - var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); - await PostErrorMessage(message, "WebApi"); - throw; - } + return Unauthorized(); } [HttpPost("register")] @@ -405,123 +362,73 @@ namespace CPRNIMS.WebApi.Controllers.Account [HttpPost("GetDepartment")] public async Task GetDepartment() { - try - { - var user = await _department.GetDepartment(); + var user = await _department.GetDepartment(); - if (user != null) - { - return Ok(user); - } - else - { - return NotFound(); - } - } - catch (Exception ex) - { - var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); - await PostErrorMessage(message, "WebApi"); - throw; - } + if (user != null) + return Ok(user); + else + return NotFound(); } [HttpPost("GetUserRights")] public async Task GetUserRights(AccountDto accountDto) { - try - { - var user = await _account.GetUserRights(accountDto); + var user = await _account.GetUserRights(accountDto); - if (user != null) - { - return Ok(user); - } - else - { - return NotFound(); - } - } - catch (Exception ex) - { - var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); - await PostErrorMessage(message, "WebApi"); - throw; - } + if (user != null) + return Ok(user); + else + return NotFound(); } [HttpPost("PutPostUserAccess")] public async Task PutPostUserAccess([FromBody] UserRightsVM viewModel) { - try + var itemDto = new AccountDto(); + if (viewModel.UserRightsList != null) { - var itemDto = new AccountDto(); - if (viewModel.UserRightsList != null) + foreach (var itemList in viewModel.UserRightsList.ContAccId) { - foreach (var itemList in viewModel.UserRightsList.ContAccId) + var index = viewModel.UserRightsList.ContAccId.IndexOf(itemList); + itemDto = new AccountDto { - var index = viewModel.UserRightsList.ContAccId.IndexOf(itemList); - itemDto = new AccountDto - { - ContAccId = viewModel.UserRightsList.ContAccId[index], - UserAccessId = viewModel.UserRightsList.UserAccessId[index], - AccessTypeId = viewModel.UserRightsList.AccessTypeId[index], - IsActive = viewModel.UserRightsList.IsActive[index], - AdminUserId = viewModel.AdminUserId, - UserId = viewModel.UserId - }; - await _account.PutPostUserAccess(itemDto); - } - return Ok(itemDto); + ContAccId = viewModel.UserRightsList.ContAccId[index], + UserAccessId = viewModel.UserRightsList.UserAccessId[index], + AccessTypeId = viewModel.UserRightsList.AccessTypeId[index], + IsActive = viewModel.UserRightsList.IsActive[index], + AdminUserId = viewModel.AdminUserId, + UserId = viewModel.UserId + }; + await _account.PutPostUserAccess(itemDto); } - return BadRequest(new { success = false, messCode = 0, message = "Your email has not yet been configured. Please go to the SMTP page." }); - } - catch (Exception ex) - { - var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); - await PostErrorMessage(message + "PutPostUserAccess", "WebApi"); - throw; + return Ok(itemDto); } + return BadRequest(new { success = false, messCode = 0, message = "Your email has not yet been configured. Please go to the SMTP page." }); } [HttpPost("CreateUpdateRole")] public async Task CreateUpdateRole([FromBody] UserRoleModel model) { - try + var existingRole = await _roleManager.FindByIdAsync(model.Id); + if (existingRole != null) { - /* IdentityRole userRole = new() - { - Id=model.Id, - Name = model.Name, - };*/ - // Check if a role with the given ID exists - var existingRole = await _roleManager.FindByIdAsync(model.Id); - if (existingRole != null) + existingRole.Name = model.Name; // Update the role name + var result = await _roleManager.UpdateAsync(existingRole); + if (!result.Succeeded) { - existingRole.Name = model.Name; // Update the role name - var result = await _roleManager.UpdateAsync(existingRole); - if (!result.Succeeded) - { - string errorMessage = result.Errors.FirstOrDefault()?.Description; - return StatusCode(StatusCodes.Status500InternalServerError, new ResponseObject { statusResponse = "Error", message = errorMessage }); - } - return Ok(new ResponseObject { statusResponse = "Success", message = "Role updated successfully!" }); + string errorMessage = result.Errors.FirstOrDefault()?.Description; + return StatusCode(StatusCodes.Status500InternalServerError, new ResponseObject { statusResponse = "Error", message = errorMessage }); } - else - { - var result = await _roleManager.CreateAsync(new IdentityRole(model.Name)); - if (!result.Succeeded) - { - string errorMessage = result.Errors.FirstOrDefault()?.Description; - return StatusCode(StatusCodes.Status500InternalServerError, new ResponseObject { statusResponse = "Error", message = errorMessage }); - } - } - return Ok(new ResponseObject { statusResponse = "Success", message = "Role created successfully!" }); + return Ok(new ResponseObject { statusResponse = "Success", message = "Role updated successfully!" }); } - catch (Exception ex) + else { - var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); - await PostErrorMessage(message, "WebApi"); - throw; + var result = await _roleManager.CreateAsync(new IdentityRole(model.Name)); + if (!result.Succeeded) + { + string errorMessage = result.Errors.FirstOrDefault()?.Description; + return StatusCode(StatusCodes.Status500InternalServerError, new ResponseObject { statusResponse = "Error", message = errorMessage }); + } } + return Ok(new ResponseObject { statusResponse = "Success", message = "Role created successfully!" }); } } } diff --git a/CPRNIMS.WebApi/Controllers/Account/AnonController.cs b/CPRNIMS.WebApi/Controllers/Account/AnonController.cs index b00265a..e582c34 100644 --- a/CPRNIMS.WebApi/Controllers/Account/AnonController.cs +++ b/CPRNIMS.WebApi/Controllers/Account/AnonController.cs @@ -63,7 +63,7 @@ namespace CPRNIMS.WebApi.Controllers.Account return Ok(new { token, - expiresAt= DateTime.UtcNow.AddMinutes(30), + expiresAt= DateTime.UtcNow.AddHours(2), userId = user.Id, userName = user.UserName, fullName = user.FullName, diff --git a/CPRNIMS.WebApps/Controllers/Account/AccountController.cs b/CPRNIMS.WebApps/Controllers/Account/AccountController.cs index 08c6456..1cb5d2e 100644 --- a/CPRNIMS.WebApps/Controllers/Account/AccountController.cs +++ b/CPRNIMS.WebApps/Controllers/Account/AccountController.cs @@ -11,11 +11,14 @@ namespace CPRNIMS.WebApps.Controllers.Account { private readonly IAccount _account; List? response; + private readonly IConfiguration _configuration; public AccountController(IWebHostEnvironment webHostEnvironment, - IAccount account,ErrorLogHelper errorMessageService,TokenHelper tokenHelper + IAccount account,ErrorLogHelper errorMessageService,TokenHelper tokenHelper, + IConfiguration configuration ) : base(errorMessageService, webHostEnvironment,tokenHelper, account) { _account = account; + _configuration = configuration; } #region Change Password public async Task SendOTPByEmail(EmailMessageDetailsVM model) @@ -200,17 +203,9 @@ namespace CPRNIMS.WebApps.Controllers.Account } public async Task GetAllUsers() { - try - { - var userResponse = await _account.GetAllUserAsync(GetUser()); - return Json(new { data = userResponse }); - } - catch (Exception ex) - { - var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); - - return Json(new { data = "No Data" }); // Return empty array instead of "No Data" string - } + var userResponse = await _account.GetAllUserAsync(GetUser()); + userResponse[0].URL = _configuration["LLI:BaseUrl"] ?? "https://llipurchasingnoninventory.com:8080/"; + return GetResponse(userResponse); } public async Task GetDepartment() { @@ -242,19 +237,11 @@ namespace CPRNIMS.WebApps.Controllers.Account return Json(new { data = "No Data" }); } } - public async Task GetUserRights(UserRightsVM viewModels) + [HttpGet] + public async Task GetUserRights(UserRightsVM viewModel) { - try - { - response = await _account.GetUserRights(GetUser(), viewModels); - return GetResponse(response); - } - catch (Exception ex) - { - var message = ex.InnerException?.ToString() ?? ex.Message.ToString(); - - return Json(new { data = "No Data" }); - } + response = await _account.GetUserRights(GetUser(), viewModel); + return GetResponse(response); } #endregion #region Views diff --git a/CPRNIMS.WebApps/ViewComponents/POMgmt/ShippingInstructionsVC.cs b/CPRNIMS.WebApps/ViewComponents/POMgmt/ShippingInstructionsVC.cs index 101757b..79e6609 100644 --- a/CPRNIMS.WebApps/ViewComponents/POMgmt/ShippingInstructionsVC.cs +++ b/CPRNIMS.WebApps/ViewComponents/POMgmt/ShippingInstructionsVC.cs @@ -12,7 +12,11 @@ namespace CPRNIMS.WebApps.ViewComponents.POMgmt 1 => "~/Views/Components/POMgmt/ShippingInstructions/Air.cshtml", 2 => "~/Views/Components/POMgmt/ShippingInstructions/Courier.cshtml", 3 => "~/Views/Components/POMgmt/ShippingInstructions/SeaFCL.cshtml", - _ => "~/Views/Components/POMgmt/ShippingInstructions/SeaLCL.cshtml" + 4 => "~/Views/Components/POMgmt/ShippingInstructions/SeaLCL.cshtml", + 5 => "~/Views/Components/POMgmt/ShippingInstructions/RawMatAir.cshtml", + 6 => "~/Views/Components/POMgmt/ShippingInstructions/RawMatCourier.cshtml", + 7 => "~/Views/Components/POMgmt/ShippingInstructions/RawMatSeaFCL.cshtml", + _ => "~/Views/Components/POMgmt/ShippingInstructions/RawMatSeaLCL.cshtml" }; // Render the selected view diff --git a/CPRNIMS.WebApps/Views/Account/Index.cshtml b/CPRNIMS.WebApps/Views/Account/Index.cshtml index d2e6050..9297fa1 100644 --- a/CPRNIMS.WebApps/Views/Account/Index.cshtml +++ b/CPRNIMS.WebApps/Views/Account/Index.cshtml @@ -1,436 +1,1584 @@ - -
+User Management + - -

User Management

-
- -
-
-

List of Users

+
+ + +
+
+
Total Users
+
124
+
+
+
+
Active
+
110
+
+
+
+
Inactive
+
14
+
+
+
+
Companies
+
4
+
+
+
+ + +
+
+

List of Users

+ -
- + + +
+
- - - + + + - - - - + + + + - +
ActionFullNameUserNameActionsFull NameUsername Email Company Role StatusCreatedByCreatedDateUpdatedByUpdatedDateCreated ByCreated DateUpdated ByUpdated Date
- -
-
- -
- - -
+
+ +
-
diff --git a/CPRNIMS.WebApps/Views/Components/POMgmt/CustomPO/ImportElem.cshtml b/CPRNIMS.WebApps/Views/Components/POMgmt/CustomPO/ImportElem.cshtml index d80a76a..6ba4805 100644 --- a/CPRNIMS.WebApps/Views/Components/POMgmt/CustomPO/ImportElem.cshtml +++ b/CPRNIMS.WebApps/Views/Components/POMgmt/CustomPO/ImportElem.cshtml @@ -1,218 +1,675 @@ -
-
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
-
-
-
-
- - -
-
-
-
- - -
-
+ + +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ USD + +
+
+ + +
-
-
-
-
- - -
-
-
-
- - + + +
+ + +
+ + +
+
+ +
-
-
-
- - - - +
+ + -
-
-
-
- - + + + + + + + + + +
+
+ +
-
-
-
-
-
-
- -
- - -
-
- -
-
-
- - -
-
-
-
- - -
-
-
-
-
-
-
-
- - - -
-
- - -
-
-
-
- @await Html.PartialAsync("PagesView/PO/_OtherCharges") -
- -
-
- -
- - +
+
+ +
-
diff --git a/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/Air.cshtml b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/Air.cshtml index 35ba8c4..508f81d 100644 --- a/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/Air.cshtml +++ b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/Air.cshtml @@ -1,125 +1,191 @@ - - -
-

SHIPPING INSTRUCTIONS:

-

1.) IN COMPLIANCE WITH FDA GMP PIC/S STANDARD FOR ALL MANUFACTURING COMPANY, CONTAINERS OF ACTIVE PHARMACEUTICAL INGREDIENTS (API), AS WELL AS EXCIPIENTS SHOULD BEAR IN THE LABEL THE FOLLOWING INFORMATION:

-
    -
  • *NAME OF MANUFACTURER WITH COMPLETE ADDRESS AND CONTACT NUMBERS
  • -
  • *PRODUCT NAME
  • -
  • *GROSS WEIGHT/NET WEIGHT
  • -
  • *MANUFACTURING DATE
  • -
  • *EXPIRATION DATE
  • -
  • *BATCH/LOT NO
  • -
  • *STORAGE REQUIREMENT
  • -
-

2.) CERTIFICATE OF ANALYSIS SHOULD BE IN COMPANY'S LETTERHEAD (MANUFACTURER) WITH COMPLETE ADDRESS AND CONTACT NUMBER, SPECIFICATIONS WITH RESULTS, STATEMENT OF CONFORMANCE, REFERENCE OFFICIAL MONOGRAPH, SIGNATURE OF THE ANALYST AND APPROVING AUTHORITY.

-

3.) THE MANUFACTURING AND EXPIRATION DATE OF THE MATERIAL SHOULD BE MORE THAN 3 YEARS BUT NOT LESS THAN 1 YEAR.

-

4.) GOODS TO BE DELIVERED SHOULD COME FROM ONE (1) BATCH ONLY.

-

5.) KINDLY FURNISH IN ADVANCE, COPY OF THE SHIPPING DOCUMENTS FOR CHECKING AND APPROVAL PRIOR TO DESPATCH.

-

6.) ORIGINAL COPIES OF THE SHIPPING DOCUMENTS (INVOICE, PACKING LIST AND COA) SHOULD BE COURIERED/SENT TO:

-
-
-

LLOYD LABORATORIES, INC. WITH ADDRESS AT #73 SCOUT FERNANDEZ ST., BRGY. LAGING HANDA, QUEZON CITY 1103, PHILIPPINES.

-

TEL NO: +632-372-3984 TO 89 LOCAL 103     MOBILE NUMBER: +63922-899-6318

-

CONTACT PERSON: TERESA MANIO

-
-
-

7.) ONLY ATTACH THE AIRWAY BILL (AWB) AND MSDS WITH THE SHIPMENT.

-

8.) ARRIVAL OF SHIPMENT MUST BE FROM MONDAY TO WEDNESDAY PREFERABLY.

-

9.) LOAD THE GOODS WITH ANY OF THE FOLLOWING PREFERRED AIRLINES:

-
-
-
    -
  • a.) BR - Eva Air
  • -
  • b.) CI - China Airlines
  • -
  • c.) CZ - China Southern Airlines
  • -
  • d.) CX - Cathay Pacific
  • -
  • e.) JL - Japan Airlines
  • -
  • f.) LH - Lufthansa German Airlines
  • -
  • g.) NW - Northwest Orient
  • -
  • h.) NX - Air Macau
  • -
  • i.) QF - Quantas Airways
  • -
  • j.) SQ - Singapore Airlines
  • -
  • k.) TG - Thai Airways
  • -
  • l.) EK - Emirates Air
  • -
  • m.) KE - Korean Airlines
  • -
  • n.) GF - Gulf Air
  • -
  • o.) EY - Ethad Airways
  • -
-
-

*NON-COMPLIANCE TO INSTRUCTIONS WOULD MEAN NON-ACCEPTANCE OF DELIVERIES.

-
-

Conforme:

- Supplier -
- \ No newline at end of file + + .field-row { + margin-bottom: 10px; + } + + .field-label { + font-weight: bold; + display: inline-block; + min-width: 140px; + } + + .line { + display: inline-block; + border-bottom: 1px solid #000; + min-width: 300px; + height: 16px; + vertical-align: bottom; + } + + .section-title { + font-weight: bold; + margin-top: 25px; + margin-bottom: 10px; + font-size: 14px; + } + + ol { + padding-left: 20px; + margin-top: 5px; + } + + ul { + padding-left: 20px; + margin-top: 5px; + } + + li { + margin-bottom: 5px; + } + + .company-address { + margin-top: 10px; + margin-bottom: 15px; + line-height: 1.6; + } + + .airlines { + columns: 2; + -webkit-columns: 2; + -moz-columns: 2; + margin-top: 5px; + } + + .non-compliance { + margin-top: 20px; + font-weight: bold; + } + + .signature-section { + margin-top: 50px; + } + + .signature-row { + margin-bottom: 20px; + } + + +
+ Mode of Shipment: + Air +
+ +
Shipping Instructions
+ +
    +
  1. + Kindly furnish in advance a copy of the shipping documents for checking and approval prior to dispatch. +
  2. +
  3. + Original copies of the shipping documents such as Invoice, Packing List, and applicable trade or origin documents should be couriered/sent to: +
  4. +
+ +
+ LLOYD LABORATORIES, INC.
+ #73 Scout Fernandez St., Brgy. Laging Handa, Quezon City 1103, Philippines
+ Tel. No.: +632-372-3984 to 89 local 103
+ Mobile No.: +63 946 900 8240
+ Contact Person: Ms. Marilou Pangilinan +
+ +
Trade and Shipping Documents
+ +

Please provide the following documents, as applicable:

+ +
    +
  • Commercial Invoice
  • +
  • Packing List
  • +
  • Product brochures
  • +
  • Product Manuals
  • +
  • Insurance Certificate, if applicable
  • +
  • Airway Bill (AWB) for air shipments
  • +
  • Certificate of Origin / preferential trade form, depending on country of export
  • +
+ +
Preferential Trade Forms
+ +

+ Use the applicable preferential trade form or certificate of origin depending on the country of shipment: +

+ +
    +
  • China: Form E / China-ASEAN Certificate of Origin
  • +
  • India: Form AI / ASEAN-India Certificate of Origin
  • +
  • Thailand: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Vietnam: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Indonesia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Malaysia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Other countries: Standard Certificate of Origin, if no preferential form applies
  • +
+ +
Air Shipments
+ +

For air shipments:

+ +
    +
  • Attach only the Airway Bill (AWB) and MSDS with the shipment.
  • +
  • Load the goods with any of the following preferred airlines:
  • +
+ +
+
    +
  • BR – EVA Air
  • +
  • CI – China Airlines
  • +
  • CZ – China Southern Airlines
  • +
  • CX – Cathay Pacific
  • +
  • JL – Japan Airlines
  • +
  • LH – Lufthansa German Airlines
  • +
  • NW – Northwest Orient
  • +
  • NX – Air Macau
  • +
  • QF – Qantas Airways
  • +
  • SQ – Singapore Airlines
  • +
  • TG – Thai Airways
  • +
  • EK – Emirates Air
  • +
  • KE – Korean Airlines
  • +
  • GF – Gulf Air
  • +
  • EY – Etihad Airways
  • +
+
+ +
Non-Compliance
+ +

+ Non-compliance with these instructions would mean non-acceptance of deliveries. +

+ +
+
+ Conforme +
+ +
+ Supplier: + +
+ +
+ Authorized Signature: + +
+ +
+ Date: + +
+
\ No newline at end of file diff --git a/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/Courier.cshtml b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/Courier.cshtml index 4ce0f50..8f890dd 100644 --- a/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/Courier.cshtml +++ b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/Courier.cshtml @@ -1,91 +1,164 @@ - -
-

SHIPPING INSTRUCTIONS:

-

1.) IN COMPLIANCE WITH FDA GMP PIC/S STANDARD FOR ALL MANUFACTURING COMPANY, CONTAINERS OF ACTIVE PHARMACEUTICAL INGREDIENTS (API), AS WELL AS EXCIPIENTS SHOULD BEAR IN THE LABEL THE FOLLOWING INFORMATION:

-
    -
  • *NAME OF MANUFACTURER WITH COMPLETE ADDRESS AND CONTACT NUMBERS
  • -
  • *PRODUCT NAME
  • -
  • *GROSS WEIGHT/NET WEIGHT
  • -
  • *MANUFACTURING DATE
  • -
  • *EXPIRATION DATE
  • -
  • *BATCH/LOT NO
  • -
  • *STORAGE REQUIREMENT
  • -
-

2.) CERTIFICATE OF ANALYSIS SHOULD BE IN COMPANY'S LETTERHEAD (MANUFACTURER) WITH COMPLETE ADDRESS AND CONTACT NUMBER, SPECIFICATIONS WITH RESULTS, STATEMENT OF CONFORMANCE, REFERENCE OFFICIAL MONOGRAPH, SIGNATURE OF THE ANALYST AND APPROVING AUTHORITY.

-

3.) THE MANUFACTURING AND EXPIRATION DATE OF THE MATERIAL SHOULD BE MORE THAN 3 YEARS BUT NOT LESS THAN 1 YEAR.

-

4.) GOODS TO BE DELIVERED SHOULD COME FROM ONE (1) BATCH ONLY.

-

5.) KINDLY FURNISH IN ADVANCE, COPY OF THE SHIPPING DOCUMENTS FOR CHECKING AND APPROVAL PRIOR TO DESPATCH.

-

6.) ORIGINAL COPIES OF THE SHIPPING DOCUMENTS (INVOICE, PACKING LIST AND COA) SHOULD BE COURIERED/SENT TO:

-
-
-

LLOYD LABORATORIES, INC. WITH ADDRESS AT #73 SCOUT FERNANDEZ ST., BRGY. LAGING HANDA, QUEZON CITY 1103, PHILIPPINES.

-

TEL NO: +632-372-3984 TO 89 LOCAL 103     MOBILE NUMBER: +63922-899-6318

-

CONTACT PERSON: TERESA MANIO

-
-

*NON-COMPLIANCE TO INSTRUCTIONS WOULD MEAN NON-ACCEPTANCE OF DELIVERIES.

-
-

Conforme:

- Supplier -
+ + Shipping Instructions – Annex A Courier - +
+ Mode of Shipment: + Air +
+ +
Shipping Instructions
+ +
    +
  1. + Kindly furnish in advance a copy of the shipping documents for checking and approval prior to dispatch. +
  2. +
  3. + Original copies of the shipping documents such as Invoice, Packing List, and applicable trade or origin documents should be couriered/sent to: +
  4. +
+ +
+ LLOYD LABORATORIES, INC.
+ #73 Scout Fernandez St., Brgy. Laging Handa, Quezon City 1103, Philippines
+ Tel. No.: +632-372-3984 to 89 local 103
+ Mobile No.: +63 946 900 8240
+ Contact Person: Ms. Marilou Pangilinan +
+ +
Trade and Shipping Documents
+ +

Please provide the following documents, as applicable:

+ +
    +
  • Commercial Invoice
  • +
  • Packing List
  • +
  • Product brochures
  • +
  • Product Manuals
  • +
  • Insurance Certificate, if applicable
  • +
  • Airway Bill (AWB)
  • +
  • Certificate of Origin / preferential trade form, depending on country of export
  • +
+ +
Preferential Trade Forms
+ +

+ Use the applicable preferential trade form or certificate of origin depending on the country of shipment: +

+ +
    +
  • China: Form E / China-ASEAN Certificate of Origin
  • +
  • India: Form AI / ASEAN-India Certificate of Origin
  • +
  • Thailand: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Vietnam: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Indonesia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Malaysia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Other countries: Standard Certificate of Origin, if no preferential form applies
  • +
+ +
Courier Shipments
+ +

For courier shipments:

+ +
    +
  • Attach only the Airway Bill (AWB) and MSDS with the shipment.
  • +
+ +
Non-Compliance
+ +

+ Non-compliance with these instructions would mean non-acceptance of deliveries. +

+ +
+
+ Conforme +
+ +
+ Supplier: + +
+ +
+ Authorized Signature: + +
+ +
+ Date: + +
+
diff --git a/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/RawMatAir.cshtml b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/RawMatAir.cshtml new file mode 100644 index 0000000..a34570d --- /dev/null +++ b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/RawMatAir.cshtml @@ -0,0 +1,229 @@ + Shipping Instructions – Annex A Raw Materials Air + + +
+ Mode of Shipment: + Air +
+ +
Shipping Instructions
+ +
    +
  1. + In compliance with FDA GMP PIC/S standards for all manufacturing companies, containers of Active Pharmaceutical Ingredients (API) and excipients should bear the following information on the label as shipping marks: + +
      +
    • + Consignee / Ship-to details as follows: + +
      + Lloyd Laboratories, Inc.
      + #10 Lloyd Avenue, First Bulacan Industrial City
      + Brgy. Tikay, City of Malolos, Bulacan 3000, Philippines
      + Contact Person: Ms. Marilou Pangilinan / +63 946 900 8240 +
      +
    • + +
    • Product name
    • +
    • Gross weight / Net weight
    • +
    • Manufacturing date
    • +
    • Expiration date
    • +
    • Batch / Lot No.
    • +
    • Storage requirement
    • +
    +
  2. + +
  3. + Certificate of Analysis should be in the manufacturer's company letterhead with complete address and contact number, specifications with results, statement of conformance, reference official monograph, and signature of the analyst and approving authority. +
  4. + +
  5. + Shelf life upon schedule of dispatch should be at least 80%, or follow the shelf life requirement stated in the purchase order. Where specified, remaining shelf life upon dispatch should not be less than 18 months. +
  6. + +
  7. + Goods to be delivered should come from one (1) batch only, unless otherwise specified in the purchase order. +
  8. + +
  9. + Kindly furnish in advance a copy of the shipping documents for checking and approval prior to dispatch. +
  10. + +
  11. + Original copies of the shipping documents such as Invoice, Packing List, Certificate of Analysis, and applicable trade or origin documents should be couriered/sent to: +
  12. +
+ +
+ LLOYD LABORATORIES, INC.
+ #73 Scout Fernandez St., Brgy. Laging Handa, Quezon City 1103, Philippines
+ Tel. No.: +632-372-3984 to 89 local 103
+ Mobile No.: +63 946 900 8240
+ Contact Person: Ms. Marilou Pangilinan +
+ +
Trade and Shipping Documents
+ +

Please provide the following documents, as applicable:

+ +
    +
  • Commercial Invoice
  • +
  • Packing List
  • +
  • Certificate of Analysis (CoA)
  • +
  • Product brochures
  • +
  • MSDS / SDS with CAS #
  • +
  • Insurance Certificate, if applicable
  • +
  • Airway Bill (AWB) for air shipments
  • +
  • Certificate of Origin / preferential trade form, depending on country of export
  • +
+ +
Preferential Trade Forms
+ +

+ Use the applicable preferential trade form or certificate of origin depending on the country of shipment: +

+ +
    +
  • China: Form E / China-ASEAN Certificate of Origin
  • +
  • India: Form AI / ASEAN-India Certificate of Origin
  • +
  • Thailand: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Vietnam: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Indonesia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Malaysia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Other countries: Standard Certificate of Origin, if no preferential form applies
  • +
+ +
Air Shipments
+ +

For air shipments:

+ +
    +
  • Attach only the Airway Bill (AWB) and MSDS with the shipment.
  • +
  • Load the goods with any of the following preferred airlines:
  • +
+ +
+
    +
  • BR – EVA Air
  • +
  • CI – China Airlines
  • +
  • CZ – China Southern Airlines
  • +
  • CX – Cathay Pacific
  • +
  • JL – Japan Airlines
  • +
  • LH – Lufthansa German Airlines
  • +
  • NW – Northwest Orient
  • +
  • NX – Air Macau
  • +
  • QF – Qantas Airways
  • +
  • SQ – Singapore Airlines
  • +
  • TG – Thai Airways
  • +
  • EK – Emirates Air
  • +
  • KE – Korean Airlines
  • +
  • GF – Gulf Air
  • +
  • EY – Etihad Airways
  • +
+
+ +
Non-Compliance
+ +

+ Non-compliance with these instructions would mean non-acceptance of deliveries. +

+ +
+
+ Conforme +
+ +
+ Supplier: + +
+ +
+ Authorized Signature: + +
+ +
+ Date: + +
+
diff --git a/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/RawMatCourier.cshtml b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/RawMatCourier.cshtml new file mode 100644 index 0000000..33a00ae --- /dev/null +++ b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/RawMatCourier.cshtml @@ -0,0 +1,201 @@ + Shipping Instructions – Annex A Raw Materials Courier + +
+ Mode of Shipment: + Courier +
+ +
Shipping Instructions
+ +
    +
  1. + In compliance with FDA GMP PIC/S standards for all manufacturing companies, containers of Active Pharmaceutical Ingredients (API) and excipients should bear the following information on the label as shipping marks: + +
      +
    • + Consignee / Ship-to details as follows: + +
      + Lloyd Laboratories, Inc.
      + #10 Lloyd Avenue, First Bulacan Industrial City
      + Brgy. Tikay, City of Malolos, Bulacan 3000, Philippines
      + Contact Person: Ms. Marilou Pangilinan / +63 946 900 8240 +
      +
    • + +
    • Product name
    • +
    • Gross weight / Net weight
    • +
    • Manufacturing date
    • +
    • Expiration date
    • +
    • Batch / Lot No.
    • +
    • Storage requirement
    • +
    +
  2. + +
  3. + Certificate of Analysis should be in the manufacturer's company letterhead with complete address and contact number, specifications with results, statement of conformance, reference official monograph, and signature of the analyst and approving authority. +
  4. + +
  5. + Shelf life upon schedule of dispatch should be at least 80%, or follow the shelf life requirement stated in the purchase order. Where specified, remaining shelf life upon dispatch should not be less than 18 months. +
  6. + +
  7. + Goods to be delivered should come from one (1) batch only, unless otherwise specified in the purchase order. +
  8. + +
  9. + Kindly furnish in advance a copy of the shipping documents for checking and approval prior to dispatch. +
  10. + +
  11. + Original copies of the shipping documents such as Invoice, Packing List, Certificate of Analysis, and applicable trade or origin documents should be couriered/sent to: +
  12. +
+ +
+ LLOYD LABORATORIES, INC.
+ #73 Scout Fernandez St., Brgy. Laging Handa, Quezon City 1103, Philippines
+ Tel. No.: +632-372-3984 to 89 local 103
+ Mobile No.: +63 946 900 8240
+ Contact Person: Ms. Marilou Pangilinan +
+ +
Trade and Shipping Documents
+ +

Please provide the following documents, as applicable:

+ +
    +
  • Commercial Invoice
  • +
  • Packing List
  • +
  • Certificate of Analysis (CoA)
  • +
  • Product brochures
  • +
  • MSDS / SDS with CAS #
  • +
  • Insurance Certificate, if applicable
  • +
  • Airway Bill (AWB)
  • +
  • Certificate of Origin / preferential trade form, depending on country of export
  • +
+ +
Preferential Trade Forms
+ +

+ Use the applicable preferential trade form or certificate of origin depending on the country of shipment: +

+ +
    +
  • China: Form E / China-ASEAN Certificate of Origin
  • +
  • India: Form AI / ASEAN-India Certificate of Origin
  • +
  • Thailand: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Vietnam: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Indonesia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Malaysia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Other countries: Standard Certificate of Origin, if no preferential form applies
  • +
+ +
Courier Shipments
+ +

For courier shipments:

+ +
    +
  • Attach only the Airway Bill (AWB) and MSDS with the shipment.
  • +
+ +
Non-Compliance
+ +

+ Non-compliance with these instructions would mean non-acceptance of deliveries. +

+ +
+
+ Conforme +
+ +
+ Supplier: + +
+ +
+ Authorized Signature: + +
+ +
+ Date: + +
+
+ diff --git a/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/RawMatSeaFCL.cshtml b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/RawMatSeaFCL.cshtml new file mode 100644 index 0000000..63e0462 --- /dev/null +++ b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/RawMatSeaFCL.cshtml @@ -0,0 +1,226 @@ + Shipping Instructions – Annex A Raw Materials FCL + + +
+ Mode of Shipment: + FCL +
+ +
Shipping Instructions
+ +
    +
  1. + In compliance with FDA GMP PIC/S standards for all manufacturing companies, containers of Active Pharmaceutical Ingredients (API) and excipients should bear the following information on the label as shipping marks: + +
      +
    • + Consignee / Ship-to details as follows: + +
      + Lloyd Laboratories, Inc.
      + #10 Lloyd Avenue, First Bulacan Industrial City
      + Brgy. Tikay, City of Malolos, Bulacan 3000, Philippines
      + Contact Person: Ms. Marilou Pangilinan / +63 946 900 8240 +
      +
    • + +
    • Product name
    • +
    • Gross weight / Net weight
    • +
    • Manufacturing date
    • +
    • Expiration date
    • +
    • Batch / Lot No.
    • +
    • Storage requirement
    • +
    +
  2. + +
  3. + Certificate of Analysis should be in the manufacturer's company letterhead with complete address and contact number, specifications with results, statement of conformance, reference official monograph, and signature of the analyst and approving authority. +
  4. + +
  5. + Shelf life upon schedule of dispatch should be at least 80%, or follow the shelf life requirement stated in the purchase order. Where specified, remaining shelf life upon dispatch should not be less than 18 months. +
  6. + +
  7. + Goods to be delivered should come from one (1) batch only, unless otherwise specified in the purchase order. +
  8. + +
  9. + Kindly furnish in advance a copy of the shipping documents for checking and approval prior to dispatch. +
  10. + +
  11. + Original copies of the shipping documents such as Invoice, Packing List, Certificate of Analysis, and applicable trade or origin documents should be couriered/sent to: +
  12. +
+ +
+ LLOYD LABORATORIES, INC.
+ #73 Scout Fernandez St., Brgy. Laging Handa, Quezon City 1103, Philippines
+ Tel. No.: +632-372-3984 to 89 local 145
+ Mobile No.: +63 946 900 8240
+ Contact Person: Ms. Marilou Pangilinan +
+ +
Trade and Shipping Documents
+ +

Please provide the following documents, as applicable:

+ +
    +
  • Commercial Invoice
  • +
  • Packing List
  • +
  • Certificate of Analysis (CoA)
  • +
  • Product brochures
  • +
  • MSDS / SDS with CAS #
  • +
  • Insurance Certificate, if applicable
  • +
  • Bill of Lading for sea shipments
  • +
  • Certificate of Origin / preferential trade form, depending on country of export
  • +
+ +
Preferential Trade Forms
+ +

+ Use the applicable preferential trade form or certificate of origin depending on the country of shipment: +

+ +
    +
  • China: Form E / China-ASEAN Certificate of Origin
  • +
  • India: Form AI / ASEAN-India Certificate of Origin
  • +
  • Thailand: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Vietnam: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Indonesia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Malaysia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Other countries: Standard Certificate of Origin, if no preferential form applies
  • +
+ +
Sea Shipments
+ +
FCL Shipments
+ +

For full container load (FCL) shipments:

+ +
    +
  • Shipment must be dispatched in one full container.
  • +
  • Preferred shipping lines for immediate release of cargo are:
  • +
+ +
    +
  • APL (American President Lines) Shipping Lines
  • +
  • Wallem Philippines Shipping Inc.
  • +
  • Wan Hai Lines
  • +
  • Evergreen Shipping Agency Phils., Corp.
  • +
  • KMTC Philippines Corp.
  • +
  • MOL Philippines Inc.
  • +
+ +
    +
  • Shipping lines to avoid are:
  • +
+ +
    +
  • SITC Container Lines Phils., Inc.
  • +
  • COSCO Philippines Shipping, Inc.
  • +
  • Sky International Inc.
  • +
  • MCC Transport
  • +
  • Maersk Line
  • +
+ +
Non-Compliance
+ +

+ Non-compliance with these instructions would mean non-acceptance of deliveries. +

+ +
+
+ Conforme +
+ +
+ Supplier: + +
+ +
+ Authorized Signature: + +
+ +
+ Date: + +
+
diff --git a/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/RawMatSeaLCL.cshtml b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/RawMatSeaLCL.cshtml new file mode 100644 index 0000000..67f75aa --- /dev/null +++ b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/RawMatSeaLCL.cshtml @@ -0,0 +1,214 @@ + Shipping Instructions – Annex A Raw Materials LCL + + +
+ Mode of Shipment: + LCL +
+ +
Shipping Instructions
+ +
    +
  1. + In compliance with FDA GMP PIC/S standards for all manufacturing companies, containers of Active Pharmaceutical Ingredients (API) and excipients should bear the following information on the label as shipping marks: + +
      +
    • + Consignee / Ship-to details as follows: + +
      + Lloyd Laboratories, Inc.
      + #10 Lloyd Avenue, First Bulacan Industrial City
      + Brgy. Tikay, City of Malolos, Bulacan 3000, Philippines
      + Contact Person: Ms. Marilou Pangilinan / +63 946 900 8240 +
      +
    • + +
    • Product name
    • +
    • Gross weight / Net weight
    • +
    • Manufacturing date
    • +
    • Expiration date
    • +
    • Batch / Lot No.
    • +
    • Storage requirement
    • +
    +
  2. + +
  3. + Certificate of Analysis should be in the manufacturer's company letterhead with complete address and contact number, specifications with results, statement of conformance, reference official monograph, and signature of the analyst and approving authority. +
  4. + +
  5. + Shelf life upon schedule of dispatch should be at least 80%, or follow the shelf life requirement stated in the purchase order. Where specified, remaining shelf life upon dispatch should not be less than 18 months. +
  6. + +
  7. + Goods to be delivered should come from one (1) batch only, unless otherwise specified in the purchase order. +
  8. + +
  9. + Kindly furnish in advance a copy of the shipping documents for checking and approval prior to dispatch. +
  10. + +
  11. + Original copies of the shipping documents such as Invoice, Packing List, Certificate of Analysis, and applicable trade or origin documents should be couriered/sent to: +
  12. +
+ +
+ LLOYD LABORATORIES, INC.
+ #73 Scout Fernandez St., Brgy. Laging Handa, Quezon City 1103, Philippines
+ Tel. No.: +632-372-3984 to 89 local 145
+ Mobile No.: +63 946 900 8240
+ Contact Person: Ms. Marilou Pangilinan +
+ +
Trade and Shipping Documents
+ +

Please provide the following documents, as applicable:

+ +
    +
  • Commercial Invoice
  • +
  • Packing List
  • +
  • Certificate of Analysis (CoA)
  • +
  • Product brochures
  • +
  • MSDS / SDS with CAS #
  • +
  • Insurance Certificate, if applicable
  • +
  • Bill of Lading for sea shipments
  • +
  • Certificate of Origin / preferential trade form, depending on country of export
  • +
+ +
Preferential Trade Forms
+ +

+ Use the applicable preferential trade form or certificate of origin depending on the country of shipment: +

+ +
    +
  • China: Form E / China-ASEAN Certificate of Origin
  • +
  • India: Form AI / ASEAN-India Certificate of Origin
  • +
  • Thailand: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Vietnam: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Indonesia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Malaysia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Other countries: Standard Certificate of Origin, if no preferential form applies
  • +
+ +
Sea Shipments
+ +
LCL Shipments
+ +

+ For less than container load (LCL) shipments, the preferred forwarders and warehouses for cheaper inbound charges are: +

+ +
    +
  • Oceanlink Forwarders & Services Phils. Inc.
  • +
  • Con-Pac Warehousing Inc.
  • +
  • Safeway Philippines Freight Co., Inc.
  • +
  • Philippine Consolidated Investors Corp.
  • +
  • Pac-Atlantic Lines (Phils.) Inc.
  • +
+ +

+ LCL guideline: up to 1,000 kg and up to 5 CBM, where applicable. +

+ +
Non-Compliance
+ +

+ Non-compliance with these instructions would mean non-acceptance of deliveries. +

+ +
+
+ Conforme +
+ +
+ Supplier: + +
+ +
+ Authorized Signature: + +
+ +
+ Date: + +
+
diff --git a/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/SeaFCL.cshtml b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/SeaFCL.cshtml index e2fcdeb..3acc90c 100644 --- a/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/SeaFCL.cshtml +++ b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/SeaFCL.cshtml @@ -1,109 +1,188 @@ - - .instructions ul li { - margin-bottom: 10px; - } +
+ Mode of Shipment: + FCL +
- .shipping-address { - margin-bottom: 20px; - line-height: 1.5; - } +
Shipping Instructions
- .conforme { - margin-top: 40px; - margin-bottom: 20px; - } +
    +
  1. + Kindly furnish in advance a copy of the shipping documents for checking and approval prior to dispatch. +
  2. +
  3. + Original copies of the shipping documents such as Invoice, Packing List, Certificate of Analysis, and applicable trade or origin documents should be couriered/sent to: +
  4. +
- .conforme span { - display: inline-block; - width: 200px; - border-top: 1px solid black; - text-align: center; - margin-top: 10px; - } - - -
-

SHIPPING INSTRUCTIONS:

-

1.) IN COMPLIANCE WITH FDA GMP PIC/S STANDARD FOR ALL MANUFACTURING COMPANY, CONTAINERS OF ACTIVE PHARMACEUTICAL INGREDIENTS (API), AS WELL AS EXCIPIENTS SHOULD BEAR IN THE LABEL THE FOLLOWING INFORMATION:

-
    -
  • *NAME OF MANUFACTURER WITH COMPLETE ADDRESS AND CONTACT NUMBERS
  • -
  • *PRODUCT NAME
  • -
  • *GROSS WEIGHT/NET WEIGHT
  • -
  • *MANUFACTURING DATE
  • -
  • *EXPIRATION DATE
  • -
  • *BATCH/LOT NO
  • -
  • *STORAGE REQUIREMENT
  • -
-

2.) CERTIFICATE OF ANALYSIS SHOULD BE IN COMPANY'S LETTERHEAD (MANUFACTURER) WITH COMPLETE ADDRESS AND CONTACT NUMBER, SPECIFICATIONS WITH RESULTS, STATEMENT OF CONFORMANCE, REFERENCE OFFICIAL MONOGRAPH, SIGNATURE OF THE ANALYST AND APPROVING AUTHORITY.

-

3.) SHELF LIFE SHOULD BE 80% UPON SCHEDULE OF DISPATCH.

-

4.) GOODS MUST BE IN MAXIMUM BATCH SIZE.

-

5.) KINDLY FURNISH IN ADVANCE, COPY OF THE SHIPPING DOCUMENTS FOR CHECKING AND APPROVAL PRIOR TO DESPATCH.

-

6.)

-

7.) ORIGINAL COPIES OF THE SHIPPING DOCUMENTS (INVOICE, PACKING LIST, FORM AI AND COA) SHOULD BE COURIERED/SENT TO:

+
+ LLOYD LABORATORIES, INC.
+ #73 Scout Fernandez St., Brgy. Laging Handa, Quezon City 1103, Philippines
+ Tel. No.: +632-372-3984 to 89 local 145
+ Mobile No.: +63 946 900 8240
+ Contact Person: Ms. Marilou Pangilinan
-
-

LLOYD LABORATORIES, INC. WITH ADDRESS AT #73 SCOUT FERNANDEZ ST., BRGY. LAGING HANDA, QUEZON CITY 1103, PHILIPPINES.

-

TEL NO: +632-372-3984 TO 89 LOCAL 103     MOBILE NUMBER: +63922-899-6318

-

CONTACT PERSON: TERESA MANIO

+ +
Trade and Shipping Documents
+ +

Please provide the following documents, as applicable:

+ +
    +
  • Commercial Invoice
  • +
  • Packing List
  • +
  • Product brochures
  • +
  • Product Manuals
  • +
  • Insurance Certificate, if applicable
  • +
  • Bill of Lading for sea shipments
  • +
  • Certificate of Origin / preferential trade form, depending on country of export
  • +
+ +
Preferential Trade Forms
+ +

+ Use the applicable preferential trade form or certificate of origin depending on the country of shipment: +

+ +
    +
  • China: Form E / China-ASEAN Certificate of Origin
  • +
  • India: Form AI / ASEAN-India Certificate of Origin
  • +
  • Thailand: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Vietnam: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Indonesia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Malaysia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Other countries: Standard Certificate of Origin, if no preferential form applies
  • +
+ +
Sea Shipments
+ +
FCL Shipments
+ +

For full container load (FCL) shipments:

+ +
    +
  • Shipment must be dispatched in one full container.
  • +
  • Preferred shipping lines for immediate release of cargo are:
  • +
+ +
    +
  • APL (American President Lines) Shipping Lines
  • +
  • Wallem Philippines Shipping Inc.
  • +
  • Wan Hai Lines
  • +
  • Evergreen Shipping Agency Phils., Corp.
  • +
  • KMTC Philippines Corp.
  • +
  • MOL Philippines Inc.
  • +
+ +
    +
  • Shipping lines to avoid are:
  • +
+ +
    +
  • SITC Container Lines Phils., Inc.
  • +
  • COSCO Philippines Shipping, Inc.
  • +
  • Sky International Inc.
  • +
  • MCC Transport
  • +
  • Maersk Line
  • +
+ +
Non-Compliance
+ +

+ Non-compliance with these instructions would mean non-acceptance of deliveries. +

+ +
+
+ Conforme +
+ +
+ Supplier: + +
+ +
+ Authorized Signature: + +
+ +
+ Date: + +
-
-

8.) SHIPMENT MUST BE DISPATCH IN 1 FULL CONTAINER.

-

9.) IN CONNECTION TO FCL SHIPMENT, PLEASE SEE BELOW LIST OF PREFERRED SHIPPING LINES FOR IMMEDIATE RELEASE OF THE CARGO:

-
    -
  • 1. APL (American President Lines) Shipping Lines
  • -
  • 2. WALLEM PHILIPPINES SHIPPING INC.
  • -
  • 3. WAN HAI LINES
  • -
  • 4. EVERGREEN SHIPPING AGENCY PHILS., CORP.
  • -
  • 5. KMTC PHILIPPINES CORP.
  • -
  • 6. MOL PHILIPPINES INC.
  • -
-

Shipping Lines to avoid are:

-
    -
  • 1. SITC Container Lines Phils., Inc.
  • -
  • 2. COSCO Philippines Shipping, Inc.
  • -
  • 3. Sky International Inc.
  • -
  • 4. MCC Transport
  • -
  • 5. MAERSK Line
  • -
-
-

*NON-COMPLIANCE TO INSTRUCTIONS WOULD MEAN NON-ACCEPTANCE OF DELIVERIES.

-
-

Conforme:

- Supplier -
- + diff --git a/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/SeaLCL.cshtml b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/SeaLCL.cshtml index b323897..038e038 100644 --- a/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/SeaLCL.cshtml +++ b/CPRNIMS.WebApps/Views/Components/POMgmt/ShippingInstructions/SeaLCL.cshtml @@ -1,101 +1,175 @@ - - .instructions ul li { - margin-bottom: 10px; - } +
+ Mode of Shipment: + LCL +
- .shipping-address { - margin-bottom: 20px; - line-height: 1.5; - } +
Shipping Instructions
- .conforme { - margin-top: 40px; - margin-bottom: 20px; - } +
    +
  1. + Kindly furnish in advance a copy of the shipping documents for checking and approval prior to dispatch. +
  2. +
  3. + Original copies of the shipping documents such as Invoice, Packing List, Certificate of Analysis, and applicable trade or origin documents should be couriered/sent to: +
  4. +
- .conforme span { - display: inline-block; - width: 200px; - border-top: 1px solid black; - text-align: center; - margin-top: 10px; - } - - -
-

SHIPPING INSTRUCTIONS:

-

1.) IN COMPLIANCE WITH FDA GMP PIC/S STANDARD FOR ALL MANUFACTURING COMPANY, CONTAINERS OF ACTIVE PHARMACEUTICAL INGREDIENTS (API), AS WELL AS EXCIPIENTS SHOULD BEAR IN THE LABEL THE FOLLOWING INFORMATION:

-
    -
  • *NAME OF MANUFACTURER WITH COMPLETE ADDRESS AND CONTACT NUMBERS
  • -
  • *PRODUCT NAME
  • -
  • *GROSS WEIGHT/NET WEIGHT
  • -
  • *MANUFACTURING DATE
  • -
  • *EXPIRATION DATE
  • -
  • *BATCH/LOT NO
  • -
  • *STORAGE REQUIREMENT
  • -
-

2.) CERTIFICATE OF ANALYSIS SHOULD BE IN COMPANY'S LETTERHEAD (MANUFACTURER) WITH COMPLETE ADDRESS AND CONTACT NUMBER, SPECIFICATIONS WITH RESULTS, STATEMENT OF CONFORMANCE, REFERENCE OFFICIAL MONOGRAPH, SIGNATURE OF THE ANALYST AND APPROVING AUTHORITY.

-

3.) THE MANUFACTURING AND EXPIRATION DATE OF THE MATERIAL SHOULD BE MORE THAN 3 YEARS BUT NOT LESS THAN 1 YEAR.

-

4.) GOODS TO BE DELIVERED SHOULD COME FROM ONE (1) BATCH ONLY.

-

5.) KINDLY FURNISH IN ADVANCE, COPY OF THE SHIPPING DOCUMENTS FOR CHECKING AND APPROVAL PRIOR TO DESPATCH.

-

6.) ORIGINAL COPIES OF THE SHIPPING DOCUMENTS (INVOICE, PACKING LIST, FORM AI AND COA) SHOULD BE COURIERED/SENT TO:

+
+ LLOYD LABORATORIES, INC.
+ #73 Scout Fernandez St., Brgy. Laging Handa, Quezon City 1103, Philippines
+ Tel. No.: +632-372-3984 to 89 local 145
+ Mobile No.: +63 946 900 8240
+ Contact Person: Ms. Marilou Pangilinan
-
-

LLOYD LABORATORIES, INC. WITH ADDRESS AT #73 SCOUT FERNANDEZ ST., BRGY. LAGING HANDA, QUEZON CITY 1103, PHILIPPINES.

-

TEL NO: +632-372-3984 TO 89 LOCAL 103     MOBILE NUMBER: +63922-899-6318

-

CONTACT PERSON: TERESA MANIO

+ +
Trade and Shipping Documents
+ +

Please provide the following documents, as applicable:

+ +
    +
  • Commercial Invoice
  • +
  • Packing List
  • +
  • Product brochures
  • +
  • Product Manuals
  • +
  • Insurance Certificate, if applicable
  • +
  • Bill of Lading for sea shipments
  • +
  • Certificate of Origin / preferential trade form, depending on country of export
  • +
+ +
Preferential Trade Forms
+ +

+ Use the applicable preferential trade form or certificate of origin depending on the country of shipment: +

+ +
    +
  • China: Form E / China-ASEAN Certificate of Origin
  • +
  • India: Form AI / ASEAN-India Certificate of Origin
  • +
  • Thailand: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Vietnam: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Indonesia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Malaysia: Form D / ASEAN Trade in Goods Agreement (ATIGA) Certificate of Origin
  • +
  • Other countries: Standard Certificate of Origin, if no preferential form applies
  • +
+ +
Sea Shipments
+ +
LCL Shipments
+ +

+ For less than container load (LCL) shipments, the preferred forwarders and warehouses for cheaper inbound charges are: +

+ +
    +
  • Oceanlink Forwarders & Services Phils. Inc.
  • +
  • Con-Pac Warehousing Inc.
  • +
  • Safeway Philippines Freight Co., Inc.
  • +
  • Philippine Consolidated Investors Corp.
  • +
  • Pac-Atlantic Lines (Phils.) Inc.
  • +
+ +

+ LCL guideline: up to 1,000 kg and up to 5 CBM, where applicable. +

+ +
Non-Compliance
+ +

+ Non-compliance with these instructions would mean non-acceptance of deliveries. +

+ +
+
+ Conforme +
+ +
+ Supplier: + +
+ +
+ Authorized Signature: + +
+ +
+ Date: + +
-
-

7.) FOR LESS THAN CONTAINER LOAD, KINDLY SEE BELOW PREFERRED SHIPPING LINES AND WAREHOUSE FOR CHEAPER INBOUND CHARGES:

-
    -
  • *OCEANLINK FORWARDERS & SERVICES PHILS. INC.
  • -
  • *CON-PAC WAREHOUSING INC.
  • -
  • *SAFEWAY PHILIPPINES FREIGHT CO., INC.
  • -
  • *PHILIPPINE CONSOLIDATED INVESTORS CORP.
  • -
  • *PAC-ATLANTIC LINES (PHILS.)INC.
  • -
-
-

*NON-COMPLIANCE TO INSTRUCTIONS WOULD MEAN NON-ACCEPTANCE OF DELIVERIES.

-
-

Conforme:

- Supplier -
- diff --git a/CPRNIMS.WebApps/Views/ItemMgmt/ItemCart.cshtml b/CPRNIMS.WebApps/Views/ItemMgmt/ItemCart.cshtml index acf4a84..eedcbc7 100644 --- a/CPRNIMS.WebApps/Views/ItemMgmt/ItemCart.cshtml +++ b/CPRNIMS.WebApps/Views/ItemMgmt/ItemCart.cshtml @@ -22,8 +22,8 @@ ItemNo ItemName + Description CategoryName - PRTypeId Qty Action @@ -139,5 +139,5 @@
@await Html.PartialAsync("PagesView/Item/_Scripts") - + \ No newline at end of file diff --git a/CPRNIMS.WebApps/Views/POMgmt/CustomPO.cshtml b/CPRNIMS.WebApps/Views/POMgmt/CustomPO.cshtml index 7bcdb76..039c0d0 100644 --- a/CPRNIMS.WebApps/Views/POMgmt/CustomPO.cshtml +++ b/CPRNIMS.WebApps/Views/POMgmt/CustomPO.cshtml @@ -1,52 +1,80 @@ 
-
+

Custom P.O. Creation

-
+
-
-
-
-
- - - - -
-
-
-
- - -
-
-
-
- - -
-
-
-
+
+
- -
-
- - - + +
+
+ + + + + +
+
+ + +
+
+ + +
+
+ + +
+
+ + + +
+
+ + +
+
+ + + + + +
+
+ +
-

@@ -55,7 +83,7 @@
- @@ -94,16 +122,17 @@
+