Commit 5ef083c5 authored by liudong1993's avatar liudong1993
parents 28714c82 93906b46
......@@ -127,20 +127,20 @@ namespace Mall.Common
/// </summary>
public int EmpId { get; set; }
//public string erptoken { get; set; }
///// <summary>
///// erp用户id
///// </summary>
//public int ERPEmpId { get; set; }
///// <summary>
///// erp公司id
///// </summary>
//public int ERPBranchId { get; set; }
///// <summary>
///// erp集团id
///// </summary>
//public int ERPGroupId { get; set; }
public string erptoken { get; set; }
/// <summary>
/// erp用户id
/// </summary>
public int ERPEmpId { get; set; }
/// <summary>
/// erp公司id
/// </summary>
public int ERPBranchId { get; set; }
/// <summary>
/// erp集团id
/// </summary>
public int ERPGroupId { get; set; }
}
}
......@@ -25,7 +25,7 @@ namespace Mall.Model.Entity.Property
public int MallBaseId { get; set; }
/// <summary>
/// 状态1待审核,2-已审核,3-已拒绝,4-已作废
/// 状态1待审核,2-已审核,3-已拒绝,4-删除
/// </summary>
public int Status { get; set; }
......
......@@ -42,7 +42,7 @@ namespace Mall.Model.Entity.Property
set;
}
/// <summary>
/// 来源类型 1仓库操作 2商品操作 3 采购,4集团授权,5用户授权
/// 来源类型 1仓库操作 2商品操作 3 采购,4集团授权,5用户授权,6-出库
/// </summary>
public int? Type
{
......
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.Property
{
/// <summary>
/// 商品出库申请实体
/// </summary>
[Serializable]
[DB(ConnectionName = "PropertyConnection")]
public class RB_WarehouseOut_Apply
{
/// <summary>
/// Id
/// </summary>
public int ID
{
get;
set;
}
/// <summary>
/// 出库单号
/// </summary>
public string OutNo { get; set; }
/// <summary>
/// 删除状态0-否,1-是
/// </summary>
public int Status
{
get;
set;
}
/// <summary>
/// 申请状态1-审核中,2-通过,3-拒绝
/// </summary>
public int ApplyStatus
{
get;
set;
}
/// <summary>
/// 商户号
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
/// 供应商id
/// </summary>
public int SupplierId
{
get;
set;
}
/// <summary>
/// 公司
/// </summary>
public int? RB_Branch_Id
{
get;
set;
}
/// <summary>
/// 集团
/// </summary>
public int? RB_Group_Id
{
get;
set;
}
/// <summary>
/// 出库状态 0-未出库,1-部分出库,2-全部出库
/// </summary>
public int OutStatus { get; set; }
/// <summary>
/// CreateDate
/// </summary>
public DateTime? CreateDate
{
get;
set;
}
/// <summary>
/// erp操作人的id
/// </summary>
public int? CreateBy
{
get;
set;
}
/// <summary>
/// 电商操作人id
/// </summary>
public int? MallUserId
{
get;
set;
}
/// <summary>
/// erp操作人的id
/// </summary>
public int? UpdateBy
{
get;
set;
}
/// <summary>
/// UpdateDate
/// </summary>
public DateTime? UpdateDate
{
get;
set;
}
/// <summary>
/// 审核理由
/// </summary>
public string ExamineReason { get; set; }
}
}
using Mall.Common.AOP;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.Property
{
/// <summary>
/// 商品出库申请实体
/// </summary>
[Serializable]
[DB(ConnectionName = "PropertyConnection")]
public class RB_WarehouseOut_Goods
{
/// <summary>
/// 申请id
/// </summary>
public int ApplyId { get; set; }
/// <summary>
/// Id
/// </summary>
public int ID
{
get;
set;
}
/// <summary>
/// OrderId
/// </summary>
public int OrderId
{
get;
set;
}
/// <summary>
/// 商品id
/// </summary>
public int GoodsId
{
get;
set;
}
/// <summary>
/// 删除状态0-否,1-是
/// </summary>
public int Status
{
get;
set;
}
/// <summary>
/// 出库状态 0-未出库,1-已出库
/// </summary>
public int IsOut { get; set; }
/// <summary>
/// 订单商品id
/// </summary>
public int OrderGoodsId
{
get;
set;
}
/// <summary>
/// 订单号
/// </summary>
public string OrderNo
{
get;
set;
}
/// <summary>
/// 商品名称
/// </summary>
public string GoodsName
{
get;
set;
}
/// <summary>
/// 规格
/// </summary>
public string Specification
{
get;
set;
}
/// <summary>
/// 规格key
/// </summary>
public string SpecificationSort { get; set; }
/// <summary>
/// 货号
/// </summary>
public string ProductCode
{
get;
set;
}
/// <summary>
/// 数量
/// </summary>
public int? Number
{
get;
set;
}
/// <summary>
/// 商户号
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
/// 供应商id
/// </summary>
public int SupplierId
{
get;
set;
}
/// <summary>
/// 成本价
/// </summary>
public decimal? CostMoney { get; set; }
}
}
using Mall.Common.AOP;
using Mall.Model.Entity.Property;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Extend.Property
{
[Serializable]
[DB(ConnectionName = "PropertyConnection")]
public class RB_WarehouseOut_Apply_Extend : RB_WarehouseOut_Apply
{
/// <summary>
/// 商品出库列表
/// </summary>
public List<RB_WarehouseOut_Goods_Extend> WarehouseOutGoodsList { get; set; }
/// <summary>
/// 已出库
/// </summary>
public int Delivered { get; set; }
/// <summary>
/// 未出库数量
/// </summary>
public int NotOutStock { get; set; }
/// <summary>
/// 小程序名称
/// </summary>
public string MallBaseName { get; set; }
/// <summary>
/// 商户名称
/// </summary>
public string TenantName { get; set; }
}
}
using Mall.Common.AOP;
using Mall.Model.Entity.Property;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Extend.Property
{
/// <summary>
/// 商品出库申请扩展实体
/// </summary>
[Serializable]
[DB(ConnectionName = "PropertyConnection")]
public class RB_WarehouseOut_Goods_Extend : RB_WarehouseOut_Goods
{
/// <summary>
/// 订单商品id
/// </summary>
public string OrderGoodsIds { get; set; }
}
}
......@@ -5089,7 +5089,7 @@ namespace Mall.Module.Product
ReFinanceId = dmodel.ReOrderId,
Remark = "名称:" + umodel.Name + "(" + umodel.Id + ")" + " " + System.DateTime.Now.ToString("yyyy年MM月dd日") + "自动生成财务单据",
detailList,
RB_Depart_Id= Config.ExpendDepartment
RB_Depart_Id = Config.ExpendDepartment
};
string sign = EncryptionHelper.AesEncrypt(JsonHelper.Serialize(financeObj), Config.FinanceKey);
var resultInfo = new
......@@ -5559,7 +5559,7 @@ namespace Mall.Module.Product
/// <param name="remark"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <param name="outTradeNo">商户订单号</param>
/// <param name="outTradeNo">商户订单号</param>
/// <param name="transactionId">微信订单号</param>
/// <param name="refundid">微信退款单号</param>
/// <returns></returns>
......@@ -6028,7 +6028,7 @@ namespace Mall.Module.Product
TenantId = tenantId,
Type = 1
});
if (!string.IsNullOrWhiteSpace(dPrice)&& !string.IsNullOrWhiteSpace(outTradeNo) && !string.IsNullOrWhiteSpace(transactionId) && !string.IsNullOrWhiteSpace(refundid))
if (!string.IsNullOrWhiteSpace(dPrice) && !string.IsNullOrWhiteSpace(outTradeNo) && !string.IsNullOrWhiteSpace(transactionId) && !string.IsNullOrWhiteSpace(refundid))
{
goods_Online_TradeRepository.Insert(new Model.Entity.Product.RB_Goods_Online_Trade()
{
......@@ -6138,7 +6138,7 @@ namespace Mall.Module.Product
ReFinanceId = omodel.OrderId,
Remark = Remark,
detailList,
RB_Depart_Id=Config.ExpendDepartment
RB_Depart_Id = Config.ExpendDepartment
};
string sign = EncryptionHelper.AesEncrypt(JsonHelper.Serialize(financeObj), Config.FinanceKey);
var resultInfo = new
......@@ -7950,6 +7950,19 @@ namespace Mall.Module.Product
}
/// <summary>
/// 获取订单商品列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Goods_OrderDetail_Extend> GetOrderGoodsList(RB_Goods_OrderDetail_Extend dmodel)
{
return goods_OrderDetailRepository.GetOrderGoodsList(dmodel);
}
/// <summary>
/// 获取订单明细列表
/// </summary>
......@@ -7962,6 +7975,20 @@ namespace Mall.Module.Product
{
return goods_OrderDetailRepository.GetOrderDetailList(dmodel);
}
/// <summary>
/// 获取未出库的订单商品列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Goods_OrderDetail_Extend> GetNoOutOrderGoodsList(RB_Goods_OrderDetail_Extend dmodel)
{
return goods_OrderDetailRepository.GetNoOutOrderGoodsList(dmodel);
}
#endregion
}
}
......@@ -52,6 +52,11 @@ namespace Mall.Module.Property
return authorizeRepository.GetAuthorizeList(query);
}
/// <summary>
/// 新增/修改授权
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool AddERPAuthorize(RB_ERP_Authorize model)
{
if (model.ID == 0)
......@@ -82,6 +87,33 @@ namespace Mall.Module.Property
return false;
}
/// <summary>
/// 删除授权
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool DelERPAuthorize(RB_ERP_Authorize model)
{
if (model.ID > 0)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_ERP_Authorize.Status),4},
{ nameof(RB_ERP_Authorize.UpdateDate),model.UpdateDate}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_ERP_Authorize.ID),
FiledValue=model.ID,
OperatorEnum=OperatorEnum.Equal
}
};
return authorizeRepository.Update(keyValues, wheres);
}
return false;
}
#endregion
......
using Mall.Common.Plugin;
using Mall.Model.Extend.Property;
using Mall.Model.Extend.User;
using Mall.Repository.Property;
using Mall.Repository.User;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Module.Property
{
public class WarehouseOutModule
{
/// <summary>
/// 商品出库申请仓储层
/// </summary>
private readonly RB_WarehouseOut_GoodsRepository warehouseOutRepository = new RB_WarehouseOut_GoodsRepository();
/// <summary>
/// 出库申请仓储层
/// </summary>
private readonly RB_WarehouseOut_ApplyRepository warehouseOutApplyRepository = new RB_WarehouseOut_ApplyRepository();
/// <summary>
/// 小程序仓储
/// </summary>
private readonly RB_MiniProgramRepository miniProgramRepository = new RB_MiniProgramRepository();
/// <summary>
/// 商户仓储
/// </summary>
private readonly RB_TenantRepository tenantRepository = new RB_TenantRepository();
/// <summary>
/// 日志
/// </summary>
private readonly RB_Property_LogRepository property_LogRepository = new RB_Property_LogRepository();
#region 出库申请信息
/// <summary>
/// 出库申请列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_WarehouseOut_Goods_Extend> GetWarehouseOutPageList(int pageIndex, int pageSize, out long rowCount, RB_WarehouseOut_Goods_Extend query)
{
return warehouseOutRepository.GetWarehouseOutPageList(pageIndex, pageSize, out rowCount, query);
}
/// <summary>
/// 出库申请列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_WarehouseOut_Goods_Extend> GetWarehouseOutList(RB_WarehouseOut_Goods_Extend query)
{
return warehouseOutRepository.GetWarehouseOutList(query);
}
/// <summary>
/// 获取已出库的商品列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_WarehouseOut_Goods_Extend> GetWarehouseOutListByIds(RB_WarehouseOut_Goods_Extend query)
{
return warehouseOutRepository.GetWarehouseOutListByIds(query);
}
/// <summary>
/// 出库申请列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_WarehouseOut_Apply_Extend> GetApplyPageList(int pageIndex, int pageSize, out long rowCount, RB_WarehouseOut_Apply_Extend query)
{
var list = warehouseOutApplyRepository.GetApplyPageList(pageIndex, pageSize, out rowCount, query);
if (list != null && list.Any())
{
string mallBaseIds = string.Join(",", list.Where(x => x.MallBaseId > 0).Select(x => x.MallBaseId));
string tenantIds = string.Join(",", list.Where(x => x.TenantId > 0).Select(x => x.TenantId));
if (!string.IsNullOrWhiteSpace(mallBaseIds))
{
var mallBaseList = GetMiniProgramListIds(mallBaseIds);
if (mallBaseList != null && mallBaseList.Any())
{
list.ForEach(x => x.MallBaseName = mallBaseList.Where(u => u.MallBaseId == x.MallBaseId).FirstOrDefault()?.MallName);
}
}
if (!string.IsNullOrWhiteSpace(tenantIds))
{
var tenantList = GetTenantListByIds(tenantIds);
if (tenantList != null && tenantList.Any())
{
list.ForEach(x => x.TenantName = tenantList.Where(u => u.TenantId == x.TenantId).FirstOrDefault()?.Name);
}
}
}
return list;
}
/// <summary>
/// 出库申请列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_WarehouseOut_Apply_Extend> GetWarehouseOutList(RB_WarehouseOut_Apply_Extend query)
{
return warehouseOutApplyRepository.GetApplyList(query);
}
/// <summary>
/// /新增申请
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool AddWarehouseOut(RB_WarehouseOut_Apply_Extend model)
{
int applyId = 0;
bool flag = false;
var trans = warehouseOutApplyRepository.DbTransaction;
try
{
if (model.ID == 0)
{
applyId = warehouseOutApplyRepository.Insert(model, trans);
flag = applyId > 0;
if (flag)
{
if (model.WarehouseOutGoodsList != null && model.WarehouseOutGoodsList.Any())
{
model.WarehouseOutGoodsList.ForEach(x => x.ApplyId = applyId);
warehouseOutRepository.InsertBatch(model.WarehouseOutGoodsList, trans);
}
}
property_LogRepository.Insert(new Model.Entity.Property.RB_Property_Log()
{
Type = 6,
Content = "新增出库申请单",
CreateBy = model.MallUserId.Value,
CreateDate = DateTime.Now,
Id = 0,
MallBaseId = model.MallBaseId,
SourceId = applyId,
TenantId = model.TenantId
});
}
warehouseOutApplyRepository.DBSession.Commit();
}
catch (Exception ex)
{
LogHelper.Write(ex, "AddWarehouseOut");
warehouseOutApplyRepository.DBSession.Rollback("AddWarehouseOut");
return false;
}
return flag;
}
#endregion
#region 小程序与商户信息
/// <summary>
/// 根据查询条件获取商户列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Tenant_Extend> GetTenantListByIds(string TenantIds)
{
return tenantRepository.GetTenantListByIds(TenantIds);
}
/// <summary>
/// 根据查询条件获取小程序列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_MiniProgram_Extend> GetMiniProgramListIds(string MallBaseIds)
{
return miniProgramRepository.GetMiniProgramListIds(MallBaseIds);
}
#endregion
}
}
......@@ -5,6 +5,7 @@ using Mall.Model.Entity.Product;
using Mall.Model.Extend.Product;
using System.Linq;
using Mall.Model.Entity.User;
using Mall.Common;
namespace Mall.Repository.Product
{
......@@ -213,5 +214,171 @@ INNER JOIN rb_goods_order o on o.OrderId=od.OrderId
where {where} order by o.CreateDate desc";
return Get<RB_Goods_OrderDetail_Extend>(sql).ToList();
}
/// <summary>
/// 获取订单商品列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Goods_OrderDetail_Extend> GetOrderGoodsList(RB_Goods_OrderDetail_Extend dmodel)
{
string where = $" 1=1 and o.{nameof(RB_Goods_Order.Status)}=0 and o.OrderStatus=2";
string childreWhere = "";
if (dmodel.TenantId > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
childreWhere += $@" and {nameof(RB_Goods_ExpressRelevance.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
childreWhere += $@" and {nameof(RB_Goods_ExpressRelevance.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.OrderType > 0)
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.OrderType)}={dmodel.OrderType}";
}
if (dmodel.SupplierId > 0)
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.SupplierId)}={dmodel.SupplierId}";
}
if (dmodel.IsFinance > 0)
{
if (dmodel.IsFinance == 1)
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.CostFinanceId)}>0";
}
else
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.CostFinanceId)}<=0";
}
}
if (dmodel.IdList != null && dmodel.IdList.Any())
{
string ids = string.Join(",", dmodel.IdList.Select(x => x));
where += $@" and od.{nameof(RB_Goods_OrderDetail.Id)} in({ids}) ";
}
if (!string.IsNullOrEmpty(dmodel.StartTime))
{
where += $@" and o.{nameof(RB_Goods_Order.CreateDate)} >='{dmodel.StartTime}'";
}
if (!string.IsNullOrEmpty(dmodel.EndTime))
{
where += $@" and o.{nameof(RB_Goods_Order.CreateDate)} <='{dmodel.EndTime} 23:59:59'";
}
if (!string.IsNullOrEmpty(dmodel.OrderNo))
{
where += $@" and o.{nameof(RB_Goods_Order.OrderNo)} like '%{dmodel.OrderNo}%'";
}
if (!string.IsNullOrEmpty(dmodel.GoodsName))
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.GoodsName)} like '%{dmodel.GoodsName}%'";
}
if (!string.IsNullOrEmpty(dmodel.ProductCode))
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.ProductCode)} like '%{dmodel.ProductCode}%'";
}
where += $"and od.Id not in (SELECT OrderDetailId from rb_goods_expressrelevance where 1=1 {childreWhere})";
string sql = $@"SELECT od.*,o.OrderNo FROM rb_goods_orderdetail od
INNER JOIN rb_goods_order o on o.OrderId=od.OrderId
where {where} order by o.CreateDate desc";
return Get<RB_Goods_OrderDetail_Extend>(sql).ToList();
}
/// <summary>
/// 获取未出库的订单商品列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Goods_OrderDetail_Extend> GetNoOutOrderGoodsList(RB_Goods_OrderDetail_Extend dmodel)
{
string where = $" 1=1 and o.{nameof(RB_Goods_Order.Status)}=0 and o.OrderStatus=2";
string childreWhere = "";
string outWhere = "";
if (dmodel.TenantId > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.TenantId)}={dmodel.TenantId}";
childreWhere += $@" and {nameof(RB_Goods_ExpressRelevance.TenantId)}={dmodel.TenantId}";
outWhere += $@" and ap.TenantId={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and o.{nameof(RB_Goods_Order.MallBaseId)}={dmodel.MallBaseId}";
childreWhere += $@" and {nameof(RB_Goods_ExpressRelevance.MallBaseId)}={dmodel.MallBaseId}";
outWhere += $@" and ap.MallBaseId={dmodel.MallBaseId}";
}
if (dmodel.OrderType > 0)
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.OrderType)}={dmodel.OrderType}";
}
if (dmodel.SupplierId > 0)
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.SupplierId)}={dmodel.SupplierId}";
}
if (dmodel.IsFinance > 0)
{
if (dmodel.IsFinance == 1)
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.CostFinanceId)}>0";
}
else
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.CostFinanceId)}<=0";
}
}
if (dmodel.IdList != null && dmodel.IdList.Any())
{
string ids = string.Join(",", dmodel.IdList.Select(x => x));
where += $@" and od.{nameof(RB_Goods_OrderDetail.Id)} in({ids}) ";
}
if (!string.IsNullOrEmpty(dmodel.StartTime))
{
where += $@" and o.{nameof(RB_Goods_Order.CreateDate)} >='{dmodel.StartTime}'";
}
if (!string.IsNullOrEmpty(dmodel.EndTime))
{
where += $@" and o.{nameof(RB_Goods_Order.CreateDate)} <='{dmodel.EndTime} 23:59:59'";
}
if (!string.IsNullOrEmpty(dmodel.OrderNo))
{
where += $@" and o.{nameof(RB_Goods_Order.OrderNo)} like '%{dmodel.OrderNo}%'";
}
if (!string.IsNullOrEmpty(dmodel.GoodsName))
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.GoodsName)} like '%{dmodel.GoodsName}%'";
}
if (!string.IsNullOrEmpty(dmodel.ProductCode))
{
where += $@" and od.{nameof(RB_Goods_OrderDetail.ProductCode)} like '%{dmodel.ProductCode}%'";
}
where += $" and od.Id not in (SELECT OrderDetailId from rb_goods_expressrelevance where 1=1 {childreWhere})";
where += @$" AND od.Id NOT IN (SELECT OrderGoodsId FROM {Config.PropertyDB}.rb_warehouseout_goods AS g LEFT JOIN {Config.PropertyDB}.rb_warehouseout_apply AS ap ON g.applyId = ap.id WHERE ap.ApplyStatus in (1,2) {outWhere} )";
string sql = $@"SELECT od.*,o.OrderNo FROM rb_goods_orderdetail od
INNER JOIN rb_goods_order o on o.OrderId=od.OrderId
where {where} order by o.CreateDate desc";
return Get<RB_Goods_OrderDetail_Extend>(sql).ToList();
}
}
}
......@@ -43,6 +43,10 @@ namespace Mall.Repository.Property
{
builder.Append($" AND a.{nameof(RB_ERP_Authorize_Extend.Status)}={query.Status}");
}
else
{
builder.Append($" AND a.{nameof(RB_ERP_Authorize_Extend.Status)}!=4");
}
if (query.Type > 0)
{
builder.Append($" AND a.{nameof(RB_ERP_Authorize_Extend.Type)}={query.Type}");
......@@ -71,6 +75,10 @@ namespace Mall.Repository.Property
{
builder.Append($" AND a.{nameof(RB_ERP_Authorize_Extend.Status)}={query.Status}");
}
else
{
builder.Append($" AND a.{nameof(RB_ERP_Authorize_Extend.Status)}!=4");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_ERP_Authorize_Extend.TenantId)}={query.TenantId}");
......
using Mall.Model.Entity.Property;
using Mall.Model.Extend.Property;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.Property
{
public class RB_WarehouseOut_ApplyRepository : RepositoryBase<RB_WarehouseOut_Apply>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_WarehouseOut_Apply); } }
/// <summary>
/// 出库申请列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_WarehouseOut_Apply_Extend> GetApplyPageList(int pageIndex, int pageSize, out long rowCount, RB_WarehouseOut_Apply_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append(@$" select a.*,b.NotOutStock,c.Delivered from {TableName} as a
LEFT JOIN (SELECT ApplyId,COUNT(*) as NotOutStock from rb_warehouseout_goods where `IsOut`=0 and Status=0 GROUP BY ApplyId) as b on a.ID=b.ApplyId
LEFT JOIN (SELECT ApplyId,COUNT(*) as Delivered from rb_warehouseout_goods where `IsOut`=1 and Status=0 GROUP BY ApplyId) as c on a.ID=c.ApplyId
where a.Status=0 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Apply_Extend.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Apply_Extend.TenantId)}={query.TenantId}");
}
if (query.MallBaseId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Apply_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.ApplyStatus > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Apply_Extend.ApplyStatus)}={query.ApplyStatus}");
}
if (query.OutStatus > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Apply_Extend.OutStatus)}={query.OutStatus}");
}
if (query.SupplierId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Apply_Extend.SupplierId)}={query.SupplierId}");
}
}
return GetPage<RB_WarehouseOut_Apply_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 出库申请列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_WarehouseOut_Apply_Extend> GetApplyList(RB_WarehouseOut_Apply_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" select * from {TableName} as a where a.Status=0 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Apply_Extend.ID)}={query.ID}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Apply_Extend.TenantId)}={query.TenantId}");
}
if (query.MallBaseId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Apply_Extend.MallBaseId)}={query.MallBaseId}");
}
if (query.OutStatus > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Apply_Extend.OutStatus)}={query.OutStatus}");
}
if (query.ApplyStatus > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Apply_Extend.ApplyStatus)}={query.ApplyStatus}");
}
if (query.SupplierId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Apply_Extend.SupplierId)}={query.SupplierId}");
}
}
return Get<RB_WarehouseOut_Apply_Extend>(builder.ToString()).ToList();
}
}
}
using Mall.Model.Entity.Property;
using Mall.Model.Extend.Property;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Mall.Repository.Property
{
public class RB_WarehouseOut_GoodsRepository : RepositoryBase<RB_WarehouseOut_Goods>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(RB_WarehouseOut_Goods); } }
/// <summary>
/// 表名称
/// </summary>
public string TableNameApply { get { return nameof(RB_WarehouseOut_Apply); } }
/// <summary>
/// 出库申请列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_WarehouseOut_Goods_Extend> GetWarehouseOutPageList(int pageIndex, int pageSize, out long rowCount, RB_WarehouseOut_Goods_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" select * from {TableName} as a where a.Status=0 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.ID)}={query.ID}");
}
if (query.ApplyId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.ApplyId)}={query.ApplyId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.TenantId)}={query.TenantId}");
}
if (query.MallBaseId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.GoodsName))
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.GoodsName)} like '%{query.GoodsName}%'");
}
if (query.SupplierId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.SupplierId)}={query.SupplierId}");
}
if (!string.IsNullOrWhiteSpace(query.OrderGoodsIds))
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.OrderGoodsId)} in ({query.OrderGoodsIds})");
}
}
return GetPage<RB_WarehouseOut_Goods_Extend>(pageIndex, pageSize, out rowCount, builder.ToString()).ToList();
}
/// <summary>
/// 出库申请列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_WarehouseOut_Goods_Extend> GetWarehouseOutList(RB_WarehouseOut_Goods_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" select * from {TableName} as a where a.Status=0 ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.ID)}={query.ID}");
}
if (query.ApplyId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.ApplyId)}={query.ApplyId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.TenantId)}={query.TenantId}");
}
if (query.MallBaseId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.GoodsName))
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.GoodsName)} like '%{query.GoodsName}%'");
}
if (query.SupplierId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.SupplierId)}={query.SupplierId}");
}
}
return Get<RB_WarehouseOut_Goods_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 获取已出库的商品列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_WarehouseOut_Goods_Extend> GetWarehouseOutListByIds(RB_WarehouseOut_Goods_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.Append($" select * from {TableName} as a LEFT JOIN {TableNameApply} as b on a.ApplyId=b.ID where a.Status=0 and b.`Status`=0 and b.ApplyStatus in(1,2) ");
if (query != null)
{
if (query.ID > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.ID)}={query.ID}");
}
if (query.ApplyId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.ApplyId)}={query.ApplyId}");
}
if (query.TenantId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.TenantId)}={query.TenantId}");
builder.Append($" AND b.{nameof(RB_WarehouseOut_Apply.TenantId)}={query.TenantId}");
}
if (query.MallBaseId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.MallBaseId)}={query.MallBaseId}");
builder.Append($" AND b.{nameof(RB_WarehouseOut_Apply.MallBaseId)}={query.MallBaseId}");
}
if (!string.IsNullOrWhiteSpace(query.GoodsName))
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.GoodsName)} like '%{query.GoodsName}%'");
}
if (query.SupplierId > 0)
{
builder.Append($" AND a.{nameof(RB_WarehouseOut_Goods_Extend.SupplierId)}={query.SupplierId}");
}
}
return Get<RB_WarehouseOut_Goods_Extend>(builder.ToString()).ToList();
}
}
}
......@@ -28,7 +28,7 @@ namespace Mall.Repository.User
{
builder.AppendFormat(" AND TenantId={0} ", query.TenantId);
}
if ( query.MallBaseId > 0)
if (query.MallBaseId > 0)
{
builder.AppendFormat(" AND MallBaseId={0} ", query.MallBaseId);
}
......@@ -36,6 +36,24 @@ namespace Mall.Repository.User
return Get<RB_MiniProgram_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 根据查询条件获取小程序列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_MiniProgram_Extend> GetMiniProgramListIds(string MallBaseIds)
{
StringBuilder builder = new StringBuilder();
builder.Append(" SELECT * FROM RB_MiniProgram WHERE 1=1 ");
if (!string.IsNullOrWhiteSpace(MallBaseIds))
{
builder.AppendFormat(" AND MallBaseId in ({0}) ", MallBaseIds);
}
return Get<RB_MiniProgram_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 根据查询条件获取小程序实体
/// </summary>
......
......@@ -31,6 +31,24 @@ namespace Mall.Repository.User
return Get<RB_Tenant_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 根据查询条件获取商户列表
/// </summary>
/// <param name="query">查询条件</param>
/// <returns></returns>
public List<RB_Tenant_Extend> GetTenantListByIds(string TenantIds)
{
StringBuilder builder = new StringBuilder();
builder.Append(" SELECT * FROM RB_Tenant WHERE 1=1 ");
if (!string.IsNullOrWhiteSpace(TenantIds))
{
builder.AppendFormat(" AND TenantId in ({0}) ", TenantIds);
}
return Get<RB_Tenant_Extend>(builder.ToString()).ToList();
}
/// <summary>
/// 根据小程序获取商户信息
/// </summary>
......
......@@ -20,6 +20,8 @@ namespace Mall.WebApi.Controllers.Property
{
private readonly AuthorizeModule authorizeModule = new AuthorizeModule();
/// <summary>
/// 获取人员授权分页信息
/// </summary>
......@@ -119,6 +121,8 @@ namespace Mall.WebApi.Controllers.Property
groupAuthorize.Type = 0;
groupAuthorize.TenantId = UserInfo.TenantId;
groupAuthorize.MallBaseId = parms.MallBaseId;
groupAuthorize.MallUserId = 0;
groupAuthorize.ID = 0;
var authorizeModel = authorizeModule.GetAuthorizeList(groupAuthorize).FirstOrDefault();
//判断集团域名是否存在
......@@ -131,9 +135,13 @@ namespace Mall.WebApi.Controllers.Property
if (demodel.Type == 1)
{
//判断集团是否授权
if (groupAuthorize == null || groupAuthorize.ID == 0)
if (authorizeModel == null || authorizeModel.ID == 0)
{
return ApiResult.Failed("请选申请集团授权");
return ApiResult.Failed("集团暂未授权");
}
if (authorizeModel.Status != 2)
{
return ApiResult.Failed("集团未通过审核,不能授权用户");
}
//判断人员账号是否存在
demodel.Password = Common.DES.Encrypt(demodel.Password, Common.Config.WebApiKey, Common.Config.WebApiIV);
......@@ -168,6 +176,27 @@ namespace Mall.WebApi.Controllers.Property
}
/// <summary>
/// 删除授权
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult DelERPAuthorize()
{
var parms = RequestParm;
RB_ERP_Authorize_Extend demodel = JsonConvert.DeserializeObject<RB_ERP_Authorize_Extend>(parms.msg.ToString());
bool result = authorizeModule.DelERPAuthorize(demodel);
if (result)
{
return ApiResult.Success("删除授权成功");
}
else
{
return ApiResult.Failed("删除授权失败");
}
}
}
......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Mall.Common.API;
using Mall.Model.Extend.Product;
using Mall.Model.Extend.Property;
using Mall.Module.Product;
using Mall.Module.Property;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
namespace Mall.WebApi.Controllers.Property
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class WarehouseOutController : BaseController
{
private readonly WarehouseOutModule warehouseOutModule = new WarehouseOutModule();
private readonly OrderModule orderModule = new OrderModule();
/// <summary>
/// 获取出库申请列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetApplyPageList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
RB_WarehouseOut_Apply_Extend demodel = JsonConvert.DeserializeObject<RB_WarehouseOut_Apply_Extend>(parms.msg.ToString());
demodel.TenantId = parms.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = warehouseOutModule.GetApplyPageList(pagelist.pageIndex, pagelist.pageSize, out long count, demodel);
pagelist.count = Convert.ToInt32(count);
pagelist.pageData = list.Select(x => new
{
x.ApplyStatus,
x.CreateBy,
x.ExamineReason,
x.ID,
x.MallBaseId,
x.MallBaseName,
x.TenantId,
x.TenantName,
x.OutNo,
x.Delivered,
x.NotOutStock
});
return ApiResult.Success("", pagelist);
}
/// <summary>
/// 提交出库申请
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetWarehouseOutApply()
{
var requestParm = RequestParm;
RB_WarehouseOut_Apply_Extend demodel = JsonConvert.DeserializeObject<RB_WarehouseOut_Apply_Extend>(requestParm.msg.ToString());
if (requestParm.EmpId <= 0)
{
return ApiResult.ParamIsNull("请传递参数");
}
if (requestParm.ERPEmpId <= 0)
{
return ApiResult.ParamIsNull("请传递参数");
}
if (demodel.SupplierId <= 0)
{
return ApiResult.ParamIsNull("请选择供应商");
}
if (demodel.WarehouseOutGoodsList == null || !demodel.WarehouseOutGoodsList.Any())
{
return ApiResult.ParamIsNull("请选择商品");
}
foreach (var item in demodel.WarehouseOutGoodsList)
{
if (item.OrderGoodsId <= 0)
{
return ApiResult.ParamIsNull("订单商品id未传递");
}
}
//根据订单商品id查询商品信息
var orderGoodsIds = string.Join(",", demodel.WarehouseOutGoodsList.Select(x => x.OrderGoodsId));
var orderGoodsList = orderModule.GetOrderGoodsList(new Model.Extend.Product.RB_Goods_OrderDetail_Extend { TenantId = requestParm.TenantId, MallBaseId = requestParm.MallBaseId, IdList = demodel.WarehouseOutGoodsList.Select(x => x.OrderGoodsId).ToList() });
if (demodel.WarehouseOutGoodsList.Count != orderGoodsList.Count)
{
List<int> chajiList = demodel.WarehouseOutGoodsList.Select(x => x.OrderGoodsId).Except(orderGoodsList.Select(x => x.Id)).ToList();
string msg = "";
foreach (var item in chajiList)
{
msg += orderGoodsList.Where(x => x.Id == item).FirstOrDefault()?.OrderNo + ",";
}
if (!string.IsNullOrWhiteSpace(msg))
{
msg = msg.TrimEnd(',');
}
return ApiResult.Failed("订单号:" + msg + "的商品已出库/已取消");
}
//判断商品是否出库中
var oldOutGoods = warehouseOutModule.GetWarehouseOutListByIds(new RB_WarehouseOut_Goods_Extend { OrderGoodsIds = String.Join(",", demodel.WarehouseOutGoodsList.Select(x => x.OrderGoodsId)), TenantId = requestParm.TenantId, MallBaseId = requestParm.MallBaseId });
if (oldOutGoods != null && oldOutGoods.Any())
{
string msg = "";
foreach (var item in oldOutGoods)
{
msg += orderGoodsList.Where(x => x.Id == item.OrderGoodsId).FirstOrDefault()?.OrderNo + ",";
}
if (!string.IsNullOrWhiteSpace(msg))
{
msg = msg.TrimEnd(',');
}
return ApiResult.Failed("订单号:" + msg + "的商品已申请出库,请勿重复申请");
}
foreach (var item in demodel.WarehouseOutGoodsList)
{
var orderGoodsDetailModel = orderGoodsList.Where(x => x.Id == item.OrderGoodsId).FirstOrDefault();
if (orderGoodsDetailModel != null)
{
item.TenantId = orderGoodsDetailModel.TenantId;
item.MallBaseId = orderGoodsDetailModel.MallBaseId;
item.SupplierId = orderGoodsDetailModel.SupplierId;
item.SpecificationSort = orderGoodsDetailModel.SpecificationSort;
item.OrderId = orderGoodsDetailModel.OrderId.Value;
item.OrderNo = orderGoodsDetailModel.OrderNo;
item.GoodsName = orderGoodsDetailModel.GoodsName;
item.Specification = orderGoodsDetailModel.Specification;
item.Number = orderGoodsDetailModel.Number;
item.CostMoney = orderGoodsDetailModel.CostMoney;
item.ProductCode = orderGoodsDetailModel.ProductCode;
item.GoodsId = orderGoodsDetailModel.GoodsId.Value;
item.Status = 0;
item.IsOut = 0;
}
}
if (demodel.ID == 0)
{
demodel.CreateDate = System.DateTime.Now;
demodel.CreateBy = requestParm.ERPEmpId;
demodel.MallUserId = requestParm.EmpId;
demodel.TenantId = requestParm.TenantId;
demodel.MallBaseId = requestParm.MallBaseId;
demodel.RB_Branch_Id = requestParm.ERPBranchId;
demodel.RB_Group_Id = requestParm.ERPGroupId;
Random R = new Random();
int Rstr = R.Next(111, 999);
demodel.OutNo = DateTime.Now.ToString("yyyyMMddHHmmssfff") + Rstr;
}
demodel.ApplyStatus = 1;
demodel.Status = 0;
demodel.UpdateDate = System.DateTime.Now;
demodel.UpdateBy = requestParm.ERPEmpId;
bool result = warehouseOutModule.AddWarehouseOut(demodel);
if (result)
{
return ApiResult.Success("出库单申请成功");
}
else
{
return ApiResult.Failed("出库单申请失败");
}
}
/// <summary>
/// 获取出库申请列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetNoOutOrderGoodsList()
{
var parms = RequestParm;
ResultPageModel pagelist = JsonConvert.DeserializeObject<ResultPageModel>(parms.msg.ToString());
RB_Goods_OrderDetail_Extend demodel = JsonConvert.DeserializeObject<RB_Goods_OrderDetail_Extend>(parms.msg.ToString());
demodel.TenantId = parms.TenantId;
demodel.MallBaseId = parms.MallBaseId;
var list = orderModule.GetNoOutOrderGoodsList(demodel);
return ApiResult.Success("", list);
}
}
}
\ No newline at end of file
......@@ -77,7 +77,7 @@ namespace Mall.WebApi.Controllers.User
private ProductModule productModule = new ProductModule();
//private Module.Property.AuthorizeModule authorizeModule = new Module.Property.AuthorizeModule();
private Module.Property.AuthorizeModule authorizeModule = new Module.Property.AuthorizeModule();
#region 商户信息
[AllowAnonymous]
......@@ -115,63 +115,63 @@ namespace Mall.WebApi.Controllers.User
#region add by:W 2020-07-06 erp授权信息
////var erpUserInfo = new Mall.Model.Entity.Property.RB_Employee();
////string erptoken = "";
////if (model.EmpId > 0)
////{
//// //判断当前登录人是否有erp账号信息
//// var authorizeModel = authorizeModule.GetAuthorizeList(new Model.Extend.Property.RB_ERP_Authorize_Extend { TenantId = model.TenantId, MallBaseId = model.MallBaseId, MallUserId = model.EmpId, Type = 1 }).FirstOrDefault();
//// if (authorizeModel != null && authorizeModel.Status == 2)
//// {
//// //先查询是否存在是否是登陆手机号登陆
//// erpUserInfo = authorizeModule.GetByLoginMobileAndPwd(authorizeModel.Account, authorizeModel.Password, authorizeModel.ERPGroupId);
//// if (erpUserInfo == null)
//// {
//// //再查询是否存在是否是账号登陆
//// erpUserInfo = authorizeModule.GetNewByAccountAndPwd(authorizeModel.Account, authorizeModel.Password, authorizeModel.ERPGroupId);
//// }
//// if (erpUserInfo != null && !string.IsNullOrWhiteSpace(erpUserInfo.EmLoginMobile) && erpUserInfo.IsLeave == 0)
//// {
//// TokenUserInfo erpUserInfoToken = new TokenUserInfo { uid = erpUserInfo.EmployeeId.ToString(), requestFrom = Common.Enum.ApiRequestFromEnum.ERP };
//// #region JWT
//// IDateTimeProvider erpprovider = new UtcDateTimeProvider();
//// var erpnow = erpprovider.GetNow().AddMinutes(-1);
//// var erpunixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); // or use JwtValidator.UnixEpoch
//// var erpsecondsSinceEpoch = Math.Round((erpnow - erpunixEpoch).TotalSeconds);
//// var erppayload = new Dictionary<string, object>
//// {
//// {"iat",erpsecondsSinceEpoch },
//// {"exp",erpsecondsSinceEpoch+Config.JwtExpirTime},
//// {"userInfo",erpUserInfoToken }
//// };
//// IJwtAlgorithm erpalgorithm = new HMACSHA256Algorithm();
//// IJsonSerializer erpserializer = new JsonNetSerializer();
//// IBase64UrlEncoder erpurlEncoder = new JwtBase64UrlEncoder();
//// IJwtEncoder erpencoder = new JwtEncoder(erpalgorithm, erpserializer, erpurlEncoder);
//// string erpsecret = Config.JwtSecretKey;
//// erptoken = erpencoder.Encode(erppayload, erpsecret);
//// #endregion
//// //ERPUserInfo erpObj = new ERPUserInfo
//// //{
//// // Domain = authorizeModel.DomainName,
//// // emName = erpUserInfo.EmName,
//// // EmployeeId = erpUserInfo.EmployeeId,
//// // RB_Group_id = erpUserInfo.RB_Group_id,
//// // RB_Branch_id = erpUserInfo.RB_Branch_id,
//// // RB_Post_Id = erpUserInfo.RB_Post_Id,
//// // RB_Department_Id = erpUserInfo.RB_Department_Id,
//// // token = erptoken,
//// // SecretKey = erpUserInfo.SecretKey,
//// // //ImAccount = imAccount?.AccID ?? model.EmLoginMobile, //model.EmLoginMobile,
//// // //ImToken = IMService.DefaultPassword(),
//// //};
//// //UserReidsCache.UserInfoSet(UserModuleCacheKeyConfig.ERP_Login_Info_+ erpUserInfo.EmployeeId, erpObj, Config.JwtExpirTime);
//// }
//// }
////}
var erpUserInfo = new Mall.Model.Entity.Property.RB_Employee();
string erptoken = "";
if (model.EmpId > 0)
{
//判断当前登录人是否有erp账号信息
var authorizeModel = authorizeModule.GetAuthorizeList(new Model.Extend.Property.RB_ERP_Authorize_Extend { TenantId = model.TenantId, MallBaseId = model.MallBaseId, MallUserId = model.EmpId, Type = 1 }).FirstOrDefault();
if (authorizeModel != null && authorizeModel.Status == 2)
{
//先查询是否存在是否是登陆手机号登陆
erpUserInfo = authorizeModule.GetByLoginMobileAndPwd(authorizeModel.Account, authorizeModel.Password, authorizeModel.ERPGroupId);
if (erpUserInfo == null)
{
//再查询是否存在是否是账号登陆
erpUserInfo = authorizeModule.GetNewByAccountAndPwd(authorizeModel.Account, authorizeModel.Password, authorizeModel.ERPGroupId);
}
if (erpUserInfo != null && !string.IsNullOrWhiteSpace(erpUserInfo.EmLoginMobile) && erpUserInfo.IsLeave == 0)
{
TokenUserInfo erpUserInfoToken = new TokenUserInfo { uid = erpUserInfo.EmployeeId.ToString(), requestFrom = Common.Enum.ApiRequestFromEnum.ERP };
#region JWT
IDateTimeProvider erpprovider = new UtcDateTimeProvider();
var erpnow = erpprovider.GetNow().AddMinutes(-1);
var erpunixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); // or use JwtValidator.UnixEpoch
var erpsecondsSinceEpoch = Math.Round((erpnow - erpunixEpoch).TotalSeconds);
var erppayload = new Dictionary<string, object>
{
{"iat",erpsecondsSinceEpoch },
{"exp",erpsecondsSinceEpoch+Config.JwtExpirTime},
{"userInfo",erpUserInfoToken }
};
IJwtAlgorithm erpalgorithm = new HMACSHA256Algorithm();
IJsonSerializer erpserializer = new JsonNetSerializer();
IBase64UrlEncoder erpurlEncoder = new JwtBase64UrlEncoder();
IJwtEncoder erpencoder = new JwtEncoder(erpalgorithm, erpserializer, erpurlEncoder);
string erpsecret = Config.JwtSecretKey;
erptoken = erpencoder.Encode(erppayload, erpsecret);
#endregion
//ERPUserInfo erpObj = new ERPUserInfo
//{
// Domain = authorizeModel.DomainName,
// emName = erpUserInfo.EmName,
// EmployeeId = erpUserInfo.EmployeeId,
// RB_Group_id = erpUserInfo.RB_Group_id,
// RB_Branch_id = erpUserInfo.RB_Branch_id,
// RB_Post_Id = erpUserInfo.RB_Post_Id,
// RB_Department_Id = erpUserInfo.RB_Department_Id,
// token = erptoken,
// SecretKey = erpUserInfo.SecretKey,
// //ImAccount = imAccount?.AccID ?? model.EmLoginMobile, //model.EmLoginMobile,
// //ImToken = IMService.DefaultPassword(),
//};
//UserReidsCache.UserInfoSet(UserModuleCacheKeyConfig.ERP_Login_Info_+ erpUserInfo.EmployeeId, erpObj, Config.JwtExpirTime);
}
}
}
#endregion
......@@ -209,11 +209,11 @@ namespace Mall.WebApi.Controllers.User
Token = token,
SecretKey = "",
MallBaseId = 0,
//EmpId = model.EmpId,
//erptoken = erptoken,
//ERPEmpId = erpUserInfo.EmployeeId,
//ERPBranchId = erpUserInfo.RB_Branch_id,
//ERPGroupId = erpUserInfo.RB_Group_id
EmpId = model.EmpId,
erptoken = erptoken,
ERPEmpId = erpUserInfo.EmployeeId,
ERPBranchId = erpUserInfo.RB_Branch_id,
ERPGroupId = erpUserInfo.RB_Group_id
};
UserReidsCache.UserInfoSet(UserModuleCacheKeyConfig.Mall_Login_Info + model.TenantId, obj, Config.JwtExpirTime);
return ApiResult.Success("", obj);
......
......@@ -44,6 +44,7 @@
"ExpendBranchId": 49, //财务支出创建人公司
"ExpendDepartment": 331,
"RebornDMC": "reborn_dmc",
"PropertyDB": "test_property",
"IncomeFinanceApi": "http://testapi.oytour.com/api/Mall/InsertFinanceBatchForMallIn",
"PaymentFinanceApi": "http://testapi.oytour.com/api/Mall/InsertFinanceBatchForMallOut",
"FinanceKey": "FinanceMallInsertToERPViitto2020",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment