123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- using Ropin.Inspection.Model.Entities;
- using Ropin.Inspection.Model.SearchModel.PRD;
- using Ropin.Inspection.Model.ViewModel.PRD;
- using Ropin.Inspection.Repository.Interface;
- using Ropin.Inspection.Repository.PRD.Interface;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Ropin.Inspection.Repository.PRD
- {
- public class BoxApiRepository : RepositoryBase<TSYS_User, Guid>, IBoxApiRepository
- {
- public BoxApiRepository(InspectionDbContext dbContext) : base(dbContext)
- {
- }
- public Task<PrivModel> GetUserPriv(string openId, string deviceCode)
- {
- PrivModel privModel = new PrivModel();
- var user = DbContext.TSYS_User.Where(u => u.C_WechatID == openId).FirstOrDefault();
- var device = DbContext.TDEV_Device.Where(u => u.C_Code == deviceCode).FirstOrDefault();
- if (user != null && device != null)
- {
- var userRole = DbContext.TSYS_UserRole.Where(u => u.C_UserCode == user.C_UserID).FirstOrDefault();
- var storeOrg = DbContext.TPNT_StoreOrg.Where(u => u.C_OrgCode == user.C_OrgCode).FirstOrDefault();
- var product = DbContext.TPRD_Product.Where(u => u.C_Code.Equals(device.C_ProductCode)).FirstOrDefault();
- if (userRole != null || storeOrg != null || product != null)
- {
- if (storeOrg.C_StoreCode == product.C_StoreCode)
- {
- var priv = DbContext.TSYS_Priv.Where(u => u.C_Module == "SYS_PRIV_MODULE_003" && u.C_Type == "SYS_PRIV_TYPE_001").FirstOrDefault();//菜单权限
- var rolePriv = DbContext.TSYS_RolePriv.Where(u => u.C_RoleCode.Equals(userRole.C_RoleCode) && u.C_PrivilegeCode == priv.C_Code).FirstOrDefault();
- if (rolePriv != null)
- {
- var priv2 = DbContext.TSYS_Priv.Where(u => u.C_Module == "SYS_PRIV_MODULE_003" && u.C_Type == "SYS_PRIV_TYPE_002").FirstOrDefault();//操作权限
- var rolePriv2 = DbContext.TSYS_RolePriv.Where(u => u.C_RoleCode.Equals(userRole.C_RoleCode) && u.C_PrivilegeCode == priv2.C_Code).FirstOrDefault();
- if (rolePriv2 != null)
- {
- privModel.openId = openId;
- privModel.type = "SYS_PRIV_TYPE_002";
- privModel.status = "true";
- }
- else
- {
- privModel.openId = openId;
- privModel.type = "SYS_PRIV_TYPE_001";
- privModel.status = "true";
- }
- return Task.FromResult(privModel);
- }
- }
- }
- }
- privModel.type = "";
- privModel.status = "false";
- return Task.FromResult(privModel);
- }
- public Task<bool> AddDevData(TDEV_DevData devData)
- {
- DbContext.TDEV_DevData.Add(devData);
- var query = DbContext.SaveChanges();
- if (query > 0)
- {
- return Task.FromResult(true);
- }
- return Task.FromResult(false);
- }
- public Task<bool> AddDevAlert(TDEV_DevAlert devAlert)
- {
- DbContext.TDEV_DevAlert.Add(devAlert);
- var query = DbContext.SaveChanges();
- if (query > 0)
- {
- return Task.FromResult(true);
- }
- return Task.FromResult(false);
- }
- public Task<TDEV_Device> GetDeviceInfo(string C_MachineCode)
- {
- var device = DbContext.TDEV_Device.Where(u => u.C_MachineCode == C_MachineCode).FirstOrDefault();
- return Task.FromResult(device);
- }
- public Task<List<TDEV_Device>> GetAllDeviceInfo()
- {
- var device = DbContext.TDEV_Device;
- return Task.FromResult(device.ToList());
- }
- public Task<List<TSYS_User>> GetAllUser()
- {
- var users = DbContext.TSYS_User.ToList();
- return Task.FromResult(users);
- }
- public Task<TDEV_DevAlertConfig> GetDevAlertConfig(string C_ConfigCode)
- {
- var devAlertConfig = DbContext.TDEV_DevAlertConfig.Where(u => u.C_Code == C_ConfigCode).FirstOrDefault();
- return Task.FromResult(devAlertConfig);
- }
- public Task<List<ProductModel>> GetProductInfo(List<epcModel> models)
- {
- List<ProductModel> productModels = new List<ProductModel>();
- List<string> lstepc = models.Select(u => u.C_QRCode).ToList();
- List<TPRD_Product> lstProduct = DbContext.TPRD_Product.Where(u => lstepc.Contains(u.C_QRCode)).ToList();
- if (lstProduct.Count>0)
- {
- foreach (var product in lstProduct)
- {
- var prodSKU = DbContext.TPRD_ProdSKU.Where(u => u.C_SKUCode == product.C_SKUCode).FirstOrDefault();
- var store = DbContext.TPNT_Store.Where(u => u.C_Code == product.C_StoreCode).FirstOrDefault();
- if (prodSKU != null && store != null)
- {
- ProductModel productModel = new ProductModel();
- productModel.C_QRCode = product.C_QRCode;
- productModel.C_SKUCode = product.C_SKUCode;
- productModel.C_StoreCode = product.C_StoreCode;
- productModel.C_DeviceCode = product.C_DeviceCode;
- productModel.D_ProdDate = product.D_ProdDate;
- productModel.D_ValiDate = product.D_ValiDate;
- productModel.C_ImageUrl = product.C_ImageUrl;
- productModel.D_LastISP = product.D_LastISP;
- productModel.I_IsAlarm = product.I_IsAlarm;
- productModel.C_AlarmMsg = product.C_AlarmMsg;
- productModel.I_Status = product.I_Status;
- productModel.C_CreateBy = product.C_CreateBy;
- productModel.D_CreateOn = product.D_CreateOn;
- productModel.C_Name = prodSKU.C_Name;
- productModel.C_Spec = prodSKU.C_Spec;
- productModel.C_Brand = prodSKU.C_Brand;
- productModel.C_Vender = prodSKU.C_Vender;
- productModel.C_ProdArea = prodSKU.C_ProdArea;
- productModel.C_Unit = prodSKU.C_Unit;
- productModel.C_ImagePath = prodSKU.C_ImagePath;
- productModel.C_IconPath = prodSKU.C_IconPath;
- productModel.I_MinStock = prodSKU.I_MinStock;
- productModel.I_ValiDays = prodSKU.I_ValiDays;
- productModel.I_AlarmDays = prodSKU.I_AlarmDays;
- productModel.TypeCode = prodSKU.C_TypeCode;
- productModel.C_Status = prodSKU.C_Status;
- productModel.C_StoreName = store.C_Name;
- productModels.Add(productModel);
- }
- }
- }
- return Task.FromResult(productModels);
- }
- public Task<List<ProductModel>> GetDevProductInfo(string c_DeviceCode)
- {
- //var page = 1;
- //var pageSize = 10;
- //var query = (from product in DbContext.Set<TPRD_Product>()
- // join prodSKU in DbContext.Set<TPRD_ProdSKU>() on product.C_SKUCode equals prodSKU.C_SKUCode
- // join store in DbContext.Set<TPNT_Store>() on product.C_StoreCode equals store.C_Code
- // where product.C_DeviceCode == c_DeviceCode
- // orderby product.C_Code descending
- // select new
- // {
- // product.C_SKUCode,
- // prodSKU.C_Name,
- // storename = store.C_Name,
- // }).Skip((page - 1) * pageSize).Take(pageSize);
- List<ProductModel> productModels = new List<ProductModel>();
- var product = DbContext.TPRD_Product.Where(u => u.C_DeviceCode == c_DeviceCode && u.I_Status == 2).ToList();
- if (product.Count > 0)
- {
- foreach (var item in product)
- {
- var prodSKU = DbContext.TPRD_ProdSKU.Where(u => u.C_SKUCode == item.C_SKUCode).FirstOrDefault();
- var store = DbContext.TPNT_Store.Where(u => u.C_Code == item.C_StoreCode).FirstOrDefault();
- if (prodSKU != null && store != null)
- {
- ProductModel productModel = new ProductModel();
- productModel.C_QRCode = item.C_QRCode;
- productModel.C_SKUCode = item.C_SKUCode;
- productModel.C_StoreCode = item.C_StoreCode;
- productModel.C_DeviceCode = item.C_DeviceCode;
- productModel.D_ProdDate = item.D_ProdDate;
- productModel.D_ValiDate = item.D_ValiDate;
- productModel.C_ImageUrl = item.C_ImageUrl;
- productModel.D_LastISP = item.D_LastISP;
- productModel.I_IsAlarm = item.I_IsAlarm;
- productModel.C_AlarmMsg = item.C_AlarmMsg;
- productModel.I_Status = item.I_Status;
- productModel.C_CreateBy = item.C_CreateBy;
- productModel.D_CreateOn = item.D_CreateOn;
- productModel.C_Name = prodSKU.C_Name;
- productModel.C_Spec = prodSKU.C_Spec;
- productModel.C_Brand = prodSKU.C_Brand;
- productModel.C_Vender = prodSKU.C_Vender;
- productModel.C_ProdArea = prodSKU.C_ProdArea;
- productModel.C_Unit = prodSKU.C_Unit;
- productModel.C_ImagePath = prodSKU.C_ImagePath;
- productModel.C_IconPath = prodSKU.C_IconPath;
- productModel.I_MinStock = prodSKU.I_MinStock;
- productModel.I_ValiDays = prodSKU.I_ValiDays;
- productModel.I_AlarmDays = prodSKU.I_AlarmDays;
- productModel.TypeCode = prodSKU.C_TypeCode;
- productModel.C_Status = prodSKU.C_Status;
- productModel.C_StoreName = store.C_Name;
- productModels.Add(productModel);
- }
- }
- }
- return Task.FromResult(productModels);
- }
- public Task<bool> UpOffRackProduct(ProductInfoModel model)
- {
- List<string> lstepc = model.goods.Select(u => u.C_QRCode).ToList();
- List<TPRD_Product> lstProduct = DbContext.TPRD_Product.Where(u => lstepc.Contains(u.C_QRCode)).ToList();
- foreach (var item in lstProduct)
- {
- item.C_DeviceCode = model.C_DeviceCode;
- item.I_Status = model.goods.Where(u => u.C_QRCode == item.C_QRCode).FirstOrDefault().I_Status;
- item.C_LastUpdatedBy = model.C_CreateBy;
- item.D_LastUpdatedOn = DateTime.Now;
- }
- var query = DbContext.SaveChanges();
- if (query > 0)
- {
- return Task.FromResult(true);
- }
- return Task.FromResult(false);
- }
- public Task<UserModel> GetUserInfo(string openid)
- {
- var user = DbContext.TSYS_User.Where(u => u.C_WechatID == openid && u.C_Status == "1").FirstOrDefault();
- UserModel model = new UserModel();
- model.C_UserID = user.C_UserID;
- model.C_UserName = user.C_UserName;
- model.I_Render = user.I_Render;
- model.D_Birthday = user.D_Birthday;
- model.C_Post = user.C_Post;
- model.C_ProgramID = user.C_ProgramID;
- model.C_OrgCode = user.C_OrgCode;
- model.C_IDNum = user.C_IDNum;
- model.C_Address = user.C_Address;
- model.C_Email = user.C_Email;
- model.C_ImagePath = user.C_ImagePath;
- model.C_Mobile = user.C_Mobile;
- model.C_Phone = user.C_Phone;
- model.C_Status = user.C_Status;
- return Task.FromResult(model);
- }
- }
- }
|