Commit ce1add48 authored by liudong1993's avatar liudong1993

财务配置

parent d228f078
using Mall.Common.Plugin;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Mall.Common.Enum.Finance
{
/// <summary>
/// 模板类别针对于财务模板
/// </summary>
public enum WFTempLateClassEnum
{
/// <summary>
/// 收入
/// </summary>
[EnumField("收入")]
IN = 1,
/// <summary>
/// 支出
/// </summary>
[EnumField("支出")]
OUT = 2,
/// <summary>
/// 收支
/// </summary>
[EnumField("收支")]
INAndOUT = 3,
/// <summary>
/// 资金调拨
/// </summary>
[EnumField("资金调拨")]
Allot = 4,
/// <summary>
/// 应收
/// </summary>
[EnumField("应收")]
ShouldIncome = 5,
/// <summary>
/// 应付
/// </summary>
[EnumField("应付")]
ShouldPay = 6,
/// <summary>
/// 挂账
/// </summary>
[EnumField("挂账")]
HangingAccounts = 7,
/// <summary>
/// 责让
/// </summary>
[EnumField("责让")]
Responsibility = 8
}
}
using Mall.Common.AOP;
using Mall.Common.Enum.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Entity.User
{
/// <summary>
/// 财务配置表实体
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Finance_Configurine
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 0-私账1-公账
/// </summary>
public int? IsPublic
{
get;
set;
}
/// <summary>
/// 1-银行账户2-平台账户3-资金池账户4-现金池账户
/// </summary>
public int? AccountType
{
get;
set;
}
/// <summary>
/// 账户ID
/// </summary>
public int? AccountId
{
get;
set;
}
/// <summary>
/// 类型Type=1汇款人 Type=2则为客户名称
/// </summary>
public string RemitterName
{
get;
set;
}
/// <summary>
/// 付款需要币种
/// </summary>
public int? CurrencyId
{
get;
set;
}
/// <summary>
/// 商品收入费用
/// </summary>
public int? IncomeCostTypeId
{
get;
set;
}
/// <summary>
/// 运费收入费用
/// </summary>
public int? FreightCostTypeId
{
get;
set;
}
/// <summary>
/// 退款费用
/// </summary>
public int? RefundCostTypeId
{
get;
set;
}
/// <summary>
/// 成本费用
/// </summary>
public int? CBCostTypeId
{
get;
set;
}
/// <summary>
/// RemitCostTypeId
/// </summary>
public int? RemitCostTypeId
{
get;
set;
}
/// <summary>
/// 流程id
/// </summary>
public int? WorkFlowId
{
get;
set;
}
/// <summary>
/// 类型 1收款 2成本 3退款 4打款
/// </summary>
public int? Type
{
get;
set;
}
/// <summary>
/// 开始时间
/// </summary>
public DateTime? StartTime
{
get;
set;
}
/// <summary>
/// 执行周期 天数 最小1天 以开始时间为准
/// </summary>
public int? IntervalDay
{
get;
set;
}
/// <summary>
/// 使用公司id
/// </summary>
public int? BranchId
{
get;
set;
}
/// <summary>
/// 删除状态
/// </summary>
public int? Status
{
get;
set;
}
/// <summary>
/// 商户号
/// </summary>
public int TenantId
{
get;
set;
}
/// <summary>
/// 小程序id
/// </summary>
public int MallBaseId
{
get;
set;
}
/// <summary>
/// CreateDate
/// </summary>
public DateTime? CreateDate
{
get;
set;
}
/// <summary>
/// UpdateDate
/// </summary>
public DateTime? UpdateDate
{
get;
set;
}
}
}
using System;
using Mall.Common.AOP;
using Mall.Common.Enum;
namespace Mall.Model.Entity.Finance
{
/// <summary>
/// rb_workflow_template Entity
/// </summary>
[Serializable]
[DB(ConnectionName = "FinanceConnection")]
public class Rb_Workflow_Template
{
/// <summary>
/// Id
/// </summary>
public int Id
{
get;
set;
}
/// <summary>
/// 流程名称
/// </summary>
public string Name
{
get;
set;
}
/// <summary>
/// 1正常 2 停用 3删除-->add by:2018-08-23 财务自定义
/// </summary>
public int? Status
{
get;
set;
}
/// <summary>
/// 分组类型 1出勤休假
/// </summary>
public int? GroupType
{
get;
set;
}
/// <summary>
/// 所属集团
/// </summary>
public int? RB_GroupId
{
get;
set;
}
/// <summary>
/// 所属公司
/// </summary>
public int? RB_BranchId
{
get;
set;
}
/// <summary>
/// CreateBy
/// </summary>
public int? CreateBy
{
get;
set;
}
/// <summary>
/// CreateTime
/// </summary>
public DateTime? CreateTime
{
get;
set;
}
/// <summary>
/// UpdateBy
/// </summary>
public int? UpdateBy
{
get;
set;
}
/// <summary>
/// UpdateTime
/// </summary>
public DateTime? UpdateTime
{
get;
set;
}
/// <summary>
/// 1请假 2出差 3 外出 4 补卡 5-收款流程 6- 付款流程 7-发票流程
/// </summary>
public int? TemplateType
{
get;
set;
}
/// <summary>
/// 1 不启用自动去重 2同一个审批人在流程中出现多次时,仅保留第一个 3同一个审批人在流程中出现多次时,仅保留最后一个 4同一个审批人仅在连续出现时,自动去重
/// </summary>
public int? AuditDistinct
{
get;
set;
}
/// <summary>
/// 1 仅全部同意后通知 2仅发起时通知 3发起时和全部同意后均通知
/// </summary>
public int? NotificationCP
{
get;
set;
}
/// <summary>
/// 类型 1-OA,2-财务
/// </summary>
public int? Type { get; set; }
/// <summary>
/// 描述
/// </summary>
public string DescribeInfo { get; set; }
/// <summary>
/// 1-收入2-支出
/// </summary>
public Common.Enum.Finance.WFTempLateClassEnum? TempLateClass { get; set; }
/// <summary>
/// 是否上传凭证0-不启用1-启用
/// </summary>
public int IsUploadPic
{
get;set;
}
/// <summary>
/// 是否无条件显示 1是 2否
/// </summary>
public int? IsShow { get => isShow; set => isShow = value; }
private int? isShow = 1;
/// <summary>
/// 不显示时 可以查看的员工 逗号分隔
/// </summary>
public string ShowEmployee { get; set; }
/// <summary>
/// 不显示时 可以查看的部门 逗号分隔
/// </summary>
public string ShowDepartment { get; set; }
/// <summary>
/// 排序
/// </summary>
public int? Sort { get; set; }
/// <summary>
/// 来源 1财务 2资产管理
/// </summary>
public int? TemplateSorce { get; set; }
/// <summary>
/// 资产管理 审批类型 1领取流程 2 退库流程 ~~
/// </summary>
public int? PropertyType { get; set; }
}
}
\ No newline at end of file
using Mall.Common.AOP;
using Mall.Model.Entity.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Extend.Finance
{
/// <summary>
/// 客户账户表扩展
/// </summary>
[Serializable]
[DB(ConnectionName = "FinanceConnection")]
public class RB_Finance_Configurine_Extend : RB_Finance_Configurine
{
}
}
using Mall.Common.AOP;
using Mall.Model.Entity.Finance;
using System;
using System.Collections.Generic;
using System.Text;
namespace Mall.Model.Extend.Finance
{
/// <summary>
/// 财务流程表扩展
/// </summary>
[Serializable]
[DB(ConnectionName = "FinanceConnection")]
public class Rb_Workflow_Template_Extend : Rb_Workflow_Template
{
/// <summary>
/// tesmpids
/// </summary>
public string TemplateIds { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using Mall.Common;
using Mall.Common.API;
using Mall.Common.Plugin;
using Mall.Model.Extend.Finance;
using Mall.Repository.Product;
using Newtonsoft.Json;
namespace Mall.Module.Product
{
/// <summary>
/// 财务处理层
/// </summary>
public class FinanceModule
{
/// <summary>
/// 财务配置
/// </summary>
private readonly RB_Finance_ConfigurineRepository finance_ConfigurineRepository = new RB_Finance_ConfigurineRepository();
private readonly Rb_Workflow_TemplateRepository workflow_TemplateRepository = new Rb_Workflow_TemplateRepository();
/// <summary>
/// 获取财务配置
/// </summary>
/// <param name="type"></param>
/// <param name="tenantId"></param>
/// <param name="mallBaseId"></param>
/// <returns></returns>
public object GetFinanceConfigurationInfo(int type, int tenantId, int mallBaseId)
{
var fmodel = finance_ConfigurineRepository.GetList(new RB_Finance_Configurine_Extend() { Type = type, TenantId = tenantId, MallBaseId = mallBaseId }).FirstOrDefault();
if (fmodel == null)
{
return new
{
Status = 1,
Msg = "需新增"
};
}
else {
return new
{
Status = 2,
FModel = new
{
fmodel.Id,
fmodel.IsPublic,
fmodel.AccountType,
fmodel.AccountId,
fmodel.RemitterName,
fmodel.CurrencyId,
fmodel.IncomeCostTypeId,
fmodel.FreightCostTypeId,
fmodel.RefundCostTypeId,
fmodel.CBCostTypeId,
fmodel.RemitCostTypeId,
fmodel.WorkFlowId,
fmodel.Type,
StartTime = fmodel.StartTime.HasValue?fmodel.StartTime.Value.ToString("yyyy-MM-dd HH:mm:ss"):"",
fmodel.IntervalDay,
fmodel.BranchId
}
};
}
}
/// <summary>
/// 获取流程列表
/// </summary>
/// <returns></returns>
public object GetFinanceWorkFlowTemplateList(int TempLateClass)
{
var list = workflow_TemplateRepository.GetList(new Rb_Workflow_Template_Extend() { RB_GroupId = 2, Status = 1, TempLateClass = (Common.Enum.Finance.WFTempLateClassEnum)TempLateClass, TemplateSorce = 1 });
return list.Select(x => new
{
x.Id,
x.Name
});
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.Product;
using Mall.Model.Extend.Product;
using System.Linq;
using Mall.Model.Entity.User;
using Mall.Model.Extend.Finance;
namespace Mall.Repository.Product
{
/// <summary>
/// 财务配置仓储层
/// </summary>
public class RB_Finance_ConfigurineRepository : RepositoryBase<RB_Finance_Configurine>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Finance_Configurine_Extend> GetList(RB_Finance_Configurine_Extend dmodel)
{
string where = $" 1=1 and {nameof(RB_Finance_Configurine.Status)}=0";
if (dmodel.TenantId > 0)
{
where += $@" and {nameof(RB_Finance_Configurine.TenantId)}={dmodel.TenantId}";
}
if (dmodel.MallBaseId > 0)
{
where += $@" and {nameof(RB_Finance_Configurine.MallBaseId)}={dmodel.MallBaseId}";
}
if (dmodel.Type > 0)
{
where += $@" and {nameof(RB_Finance_Configurine.Type)}={dmodel.Type}";
}
string sql = $@"SELECT * FROM RB_Finance_Configurine where {where} order by Id asc";
return Get<RB_Finance_Configurine_Extend>(sql).ToList();
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Mall.Model.Entity.Product;
using Mall.Model.Extend.Product;
using System.Linq;
using Mall.Model.Extend.Finance;
using Mall.Model.Entity.Finance;
namespace Mall.Repository.Product
{
/// <summary>
/// 财务流程仓储层
/// </summary>
public class Rb_Workflow_TemplateRepository : RepositoryBase<Rb_Workflow_Template>
{
/// <summary>
/// 表名称
/// </summary>
public string TableName { get { return nameof(Rb_Workflow_Template); } }
/// <summary>
/// 获取模板列表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public List<Rb_Workflow_Template_Extend> GetList(Rb_Workflow_Template_Extend model)
{
string where = " WHERE 1=1 ";
if (model.Status > 0) //状态==0的时候查询停用和正常的
{
where += string.Format(" AND " + nameof(Rb_Workflow_Template.Status) + "={0}", (int)model.Status);
}
else
{
where += string.Format(" AND " + nameof(Rb_Workflow_Template.Status) + "!={0}", 3);
}
if (model.Id > 0)
{
where += string.Format(" AND " + nameof(Rb_Workflow_Template.Id) + "={0}", model.Id);
}
if (model.Type > 0)
{
where += string.Format(" AND " + nameof(Rb_Workflow_Template.Type) + "={0}", (int)model.Type);
}
if (model.RB_GroupId > 0)
{
where += string.Format(" AND " + nameof(Rb_Workflow_Template.RB_GroupId) + "={0}", model.RB_GroupId);
}
if (model.RB_BranchId >= 0)
{
where += string.Format(" AND " + nameof(Rb_Workflow_Template.RB_BranchId) + "={0}", model.RB_BranchId);
}
if (model.TemplateType.HasValue && model.TemplateType.Value > 0)
{
where += string.Format(" AND " + nameof(Rb_Workflow_Template.TemplateType) + "={0}", (int)model.TemplateType);
}
if (!string.IsNullOrEmpty(model.TemplateIds))
{
where += string.Format(" AND " + nameof(Rb_Workflow_Template.Id) + " in ({0})", model.TemplateIds);
}
if (model.TemplateSorce > 0)
{
where += string.Format(" AND " + nameof(Rb_Workflow_Template.TemplateSorce) + "={0}", model.TemplateSorce);
}
if (model.TempLateClass > 0) {
where += string.Format(" AND " + nameof(Rb_Workflow_Template.TempLateClass) + "={0}", (int)model.TempLateClass);
}
string sql = string.Format(" SELECT * FROM {0} {1}", TableName, where);
return Get<Rb_Workflow_Template_Extend>(sql).ToList();
}
/// <summary>
/// 获取自定义模板
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="model"></param>
/// <param name="count"></param>
/// <returns></returns>
public List<Rb_Workflow_Template_Extend> GetPageList(int pageIndex, int pageSize, Rb_Workflow_Template_Extend model, out long count)
{
string where = "1=1";
where += string.Format(" AND A." + nameof(Rb_Workflow_Template.Status) + "!=3");
if (model.TemplateType > 0)
{
where += string.Format(" AND A." + nameof(Rb_Workflow_Template.TemplateType) + "={0}", (int)model.TemplateType);
}
if (model.RB_GroupId > 0)
{
where += string.Format(" AND A." + nameof(Rb_Workflow_Template.RB_GroupId) + "={0}", model.RB_GroupId);
}
if (model.RB_BranchId >= 0)
{
where += string.Format(" AND A." + nameof(Rb_Workflow_Template.RB_BranchId) + "={0}", model.RB_BranchId);
}
if (model.Type > 0)
{
where += string.Format(" AND A." + nameof(Rb_Workflow_Template.Type) + "={0}", (int)model.Type);
}
if (!string.IsNullOrEmpty(model.TemplateIds))
{
where += string.Format(" AND A." + nameof(Rb_Workflow_Template.TemplateType) + " in({0}) ", model.TemplateIds);
}
if (!string.IsNullOrWhiteSpace(model.Name))
{
where += string.Format(" AND A." + nameof(Rb_Workflow_Template.Name) + " like '%{0}%'", model.Name);
}
if (model.TemplateSorce > 0)
{
where += string.Format(" AND A." + nameof(Rb_Workflow_Template.TemplateSorce) + "={0}", model.TemplateSorce);
}
string sql = string.Format(" select * from {0} as A where {1}", TableName, where);
return GetPage<Rb_Workflow_Template_Extend>(pageIndex, pageSize, out count, sql).ToList();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Mall.Common.API;
using Mall.Model.Extend.User;
using Mall.Module.User;
using Mall.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Mall.Common.Plugin;
using Mall.Common.Enum.User;
using Mall.CacheManager.User;
using Newtonsoft.Json.Linq;
using Mall.Common;
using Mall.Module.Product;
namespace Mall.WebApi.Controllers.Finance
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class FinanceController : BaseController
{
private readonly FinanceModule financeModule = new FinanceModule();
#region 财务配置
/// <summary>
/// 获取财务配置信息
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetFinanceConfigurationInfo()
{
var requestParm = RequestParm;
var parms = JObject.Parse(requestParm.msg.ToString());
int Type = parms.GetInt("Type", 0);
if (Type <= 0)
{
return ApiResult.ParamIsNull();
}
var obj = financeModule.GetFinanceConfigurationInfo(Type, requestParm.TenantId, requestParm.MallBaseId);
return ApiResult.Success("", obj);
}
/// <summary>
/// 获取流程列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetFinanceWorkFlowTemplateList() {
var requestParm = RequestParm;
var parms = JObject.Parse(requestParm.msg.ToString());
int TempLateClass = parms.GetInt("TempLateClass", 0);
if (TempLateClass <= 0)
{
return ApiResult.ParamIsNull();
}
var List = financeModule.GetFinanceWorkFlowTemplateList(TempLateClass);
return ApiResult.Success("", List);
}
#endregion
}
}
\ No newline at end of file
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