Commit 6eb421db authored by liudong1993's avatar liudong1993

耗材入库审核

parent ea41876d
......@@ -255,6 +255,30 @@ namespace REBORN.Common
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
/// <summary>
/// AES 解密
/// </summary>
/// <param name="str">明文(待解密)</param>
/// <param name="key">密文</param>
/// <returns></returns>
public static string AesDecrypt(string str, string key)
{
if (string.IsNullOrEmpty(str)) return null;
Byte[] toEncryptArray = Convert.FromBase64String(str);
RijndaelManaged rm = new RijndaelManaged
{
Key = Encoding.UTF8.GetBytes(key),
Mode = CipherMode.ECB,
Padding = PaddingMode.PKCS7
};
ICryptoTransform cTransform = rm.CreateDecryptor();
Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Encoding.UTF8.GetString(resultArray);
}
/// <summary>
......
......@@ -56,6 +56,11 @@ namespace REBORN.Common.Enum
/// 变更领用人
/// </summary>
[EnumField("变更领用人")]
Change = 10
Change = 10,
/// <summary>
/// 入库
/// </summary>
[EnumField("入库")]
StockIn = 11
}
}
......@@ -76,5 +76,10 @@ namespace REBORN.Common.Enum
/// </summary>
[EnumField("资产审批")]
PropertyAudit = 7,
/// <summary>
/// 耗材审批
/// </summary>
[EnumField("耗材审批")]
SuppliesAudit = 8,
}
}
\ No newline at end of file
......@@ -21,7 +21,7 @@ namespace Property.Model.Entity
set;
}
/// <summary>
/// 1、资产流程
/// 1、资产流程 2、耗材流程
/// </summary>
public int? Type
{
......
......@@ -86,9 +86,9 @@ namespace Property.Model.Entity
set;
}
/// <summary>
/// 1请假 2出差 3 外出 4 补卡
/// 0资产流程 1耗材流程
/// </summary>
public WFTTemplateTypeEnum? TemplateType
public int? TemplateType
{
get;
set;
......
......@@ -135,5 +135,9 @@ namespace Property.Model.Entity
/// 采购单id
/// </summary>
public int? ProcurementId { get; set; }
/// <summary>
/// 流程模板id
/// </summary>
public int? TempleteId { get; set; }
}
}
\ No newline at end of file
......@@ -12,6 +12,34 @@ namespace Property.Model.Extend
[DB(ConnectionName = "PropertyConnection")]
public class RB_Supplies_StockIn_Extend : RB_Supplies_StockIn
{
/// <summary>
/// 审核图片
/// </summary>
public List<string> ImageList { get; set; }
/// <summary>
/// 审核类型 1通过 2拒绝
/// </summary>
public int? AuditType { get; set; }
/// <summary>
/// 是否可以审核
/// </summary>
public int? Is_CanAudit { get; set; }
/// <summary>
/// 是否自己审核
/// </summary>
public int? Is_AuditSelf { get; set; }
/// <summary>
/// 流程
/// </summary>
public List<Rb_Workflow_AuditRelevance_Extend> AuditSteps { get; set; }
/// <summary>
/// 模板名称
/// </summary>
public string TemplateName { get; set; }
/// <summary>
/// 审核描述
/// </summary>
public string AuditDescription { get; set; }
/// <summary>
/// 入库开始时间
/// </summary>
......@@ -60,5 +88,13 @@ namespace Property.Model.Extend
/// 财务单据id
/// </summary>
public int? FinanceId { get; set; }
/// <summary>
/// 入库审核人
/// </summary>
public int? AuditEmId { get; set; }
/// <summary>
/// 已审核人
/// </summary>
public int? AuditedEmId { get; set; }
}
}
\ No newline at end of file
......@@ -1164,7 +1164,7 @@ namespace Property.Module.FixedAssets
}
//首先删除流程相关 与 流程审批人
workFlowModule.ModifyAuditDeleteAllInfo(receiveId, null);
workFlowModule.ModifyAuditDeleteAllInfo(receiveId, 0, null);
}
return flag;
}
......@@ -1625,7 +1625,7 @@ namespace Property.Module.FixedAssets
return ApiResult.Failed("未匹配到相关的流程信息,请联系管理员!");
}
//首先删除流程相关 与 流程审批人
workFlowModule.ModifyAuditDeleteAllInfo(demodel.Id, trans);
workFlowModule.ModifyAuditDeleteAllInfo(demodel.Id, 0, trans);
//开始创建流程
List<EmAccoutIdModel> sendAccount = new List<EmAccoutIdModel>();
List<int> ApplyForList = new List<int>();
......@@ -2000,6 +2000,54 @@ namespace Property.Module.FixedAssets
}
/// <summary>
/// 耗材入库 生成流程
/// </summary>
/// <param name="StockInId"></param>
/// <returns></returns>
public ApiResult SetSuppliesStockInFlow(int StockInId) {
var demodel = supplies_StockInRepository.GetEntity(StockInId);
UserInfo userInfo = CacheManager.User.UserReidsCache.GetUserLoginInfo((demodel.CreateBy ?? 0).ToString());
//判断是否需要流程审批
var tmodel = GetTempleteModel(PropertyFlowEnum.StockIn, demodel.RB_Branch_Id ?? 0);
var rmodel = auditRelevanceRepository.GetList(new RB_Property_AuditRelevance() { RB_Group_Id = demodel.RB_Group_Id, Type = PropertyFlowEnum.StockIn }).FirstOrDefault();
if (rmodel != null && rmodel.Enabled == 1)
{
//开始创建流程
List<EmAccoutIdModel> sendAccount = new List<EmAccoutIdModel>();
List<int> ApplyForList = new List<int>() { demodel.CreateBy ?? 0 };
bool cflag = workFlowModule.InsertAuditRelevance(tmodel, 0, userInfo.EmployeeId, userInfo.EmployeeId, demodel.Id, ApplyForList, out sendAccount, 1, null, null, 1);
if (cflag == false)
{
return ApiResult.Failed("流程有误,请核实后再试");
}
//日志
RB_Workfolw_Change_Log logModel = new RB_Workfolw_Change_Log
{
LogId = 0,
RB_Branch_Id = userInfo.RB_Branch_id,
RB_Group_Id = userInfo.RB_Group_id,
UpdateBy = userInfo.EmployeeId,
UpdateDate = System.DateTime.Now,
ResourceId = demodel.Id,
Content = "创建流程",
Type = 2
};
workfolw_Change_LogRepository.Insert(logModel);
//推送消息
if (sendAccount.Any())
{
PushAuditMessage(sendAccount, demodel.Id, "您有待审核的耗材入库信息", "耗材审核通知", userInfo.EmployeeId, SysTemPushTypeEnum.PropertyAudit);
}
return ApiResult.Success("流程生成成功");
}
return ApiResult.Success("未启用流程");
}
/// <summary>
/// 推送资产审批消息
/// </summary>
......
......@@ -222,12 +222,14 @@ left join RB_Property_Category pc on pc.Id=pi.CategoryId
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditStatus) + "=" + (int)WFRrocessStatus.NotAudit;
where += " and pu." + nameof(RB_Property_UseReceive_Extend.AuditStatus) + "=" + (int)OrderStateEnum.Auditing;//需要申请单在审核中
where += " and war." + nameof(Rb_Workflow_AuditRelevance_Extend.SpecialNode) + " !=" + (int)WFSpecialNodeEnum.Pay;//排除签名的
where += " and war." + nameof(Rb_Workflow_AuditRelevance_Extend.TemplateType) + " =0";
}
if (dmodel.AuditedEmId > 0)
{
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditEmId) + "=" + dmodel.AuditedEmId;
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditStatus) + " in(" + (int)WFRrocessStatus.AuditThrough + "," + (int)WFRrocessStatus.AuditNotThrough + "," + (int)WFRrocessStatus.Rejected + ")";
where += " and war." + nameof(Rb_Workflow_AuditRelevance_Extend.SpecialNode) + " !=" + (int)WFSpecialNodeEnum.Pay;//排除签名的
where += " and war." + nameof(Rb_Workflow_AuditRelevance_Extend.TemplateType) + " =0";
}
string sql = $@" select distinct pu.* from
RB_Property_UseReceive pu
......@@ -299,12 +301,14 @@ LEFT JOIN rb_workflow_auditrelevance war on wa.AuditId=war.Id
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditEmId) + "=" + dmodel.AuditEmId;
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditStatus) + "=" + (int)WFRrocessStatus.NotAudit;
where += " and pu." + nameof(RB_Property_UseReceive_Extend.AuditStatus) + "=" + (int)OrderStateEnum.Auditing;//需要申请单在审核中
where += " and war." + nameof(Rb_Workflow_AuditRelevance.TemplateType) + "=0";
}
if (dmodel.AuditedEmId > 0)
{
where += $@" and ar.SpecialNode=2 and ar.Stauts=2 ";
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditEmId) + "=" + dmodel.AuditedEmId;
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditStatus) + " in(" + (int)WFRrocessStatus.AuditThrough + "," + (int)WFRrocessStatus.AuditNotThrough + "," + (int)WFRrocessStatus.Rejected + ")";
where += " and war." + nameof(Rb_Workflow_AuditRelevance.TemplateType) + "=0";
}
string sql = $@" select distinct pu.* from
RB_Property_UseReceive pu
......@@ -314,6 +318,7 @@ left join rb_property_userelevance pur on pu.Id=pur.ReceiveId
left join RB_Property_Info pi on pur.PropertyId=pi.Id
left join RB_Property_Category pc on pc.Id=pi.CategoryId
left join rb_workflow_auditrecord wa on pu.Id=wa.WorkFlowId
LEFT JOIN rb_workflow_auditrelevance war on wa.AuditId=war.Id
{where} order by pu.Id desc";
return GetPage<RB_Property_UseReceive_Extend>(pageIndex, pageSize, out count, sql).ToList();
}
......@@ -375,11 +380,13 @@ left join rb_workflow_auditrecord wa on pu.Id=wa.WorkFlowId
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditEmId) + "=" + dmodel.AuditEmId;
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditStatus) + "=" + (int)WFRrocessStatus.NotAudit;
where += " and pu." + nameof(RB_Property_UseReceive_Extend.AuditStatus) + "=" + (int)OrderStateEnum.Auditing;//需要申请单在审核中
where += " and war." + nameof(Rb_Workflow_AuditRelevance.TemplateType) + "=0";
}
if (dmodel.AuditedEmId > 0)
{
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditEmId) + "=" + dmodel.AuditedEmId;
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditStatus) + " in(" + (int)WFRrocessStatus.AuditThrough + "," + (int)WFRrocessStatus.AuditNotThrough + "," + (int)WFRrocessStatus.Rejected + ")";
where += " and war." + nameof(Rb_Workflow_AuditRelevance.TemplateType) + "=0";
}
string sql = $@"
select count(distinct pu.Id) as Number from
......@@ -390,6 +397,7 @@ left join rb_property_userelevance pur on pu.Id=pur.ReceiveId
left join RB_Property_Info pi on pur.PropertyId=pi.Id
left join RB_Property_Category pc on pc.Id=pi.CategoryId
left join rb_workflow_auditrecord wa on pu.Id=wa.WorkFlowId
LEFT JOIN rb_workflow_auditrelevance war on wa.AuditId=war.Id
{where} order by pu.Id desc";
var model = Get<RB_Property_UseReceive_Extend>(sql).FirstOrDefault();
if (model != null)
......@@ -457,12 +465,14 @@ left join rb_workflow_auditrecord wa on pu.Id=wa.WorkFlowId
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditStatus) + "=" + (int)WFRrocessStatus.NotAudit;
where += " and pu." + nameof(RB_Property_UseReceive_Extend.AuditStatus) + "=" + (int)OrderStateEnum.Auditing;//需要申请单在审核中
where += " and war." + nameof(Rb_Workflow_AuditRelevance_Extend.SpecialNode) + " !=" + (int)WFSpecialNodeEnum.Pay;//排除签名的
where += " and war." + nameof(Rb_Workflow_AuditRelevance.TemplateType) + "=0";
}
if (dmodel.AuditedEmId > 0)
{
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditEmId) + "=" + dmodel.AuditedEmId;
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditStatus) + " in(" + (int)WFRrocessStatus.AuditThrough + "," + (int)WFRrocessStatus.AuditNotThrough + "," + (int)WFRrocessStatus.Rejected + ")";
where += " and war." + nameof(Rb_Workflow_AuditRelevance_Extend.SpecialNode) + " !=" + (int)WFSpecialNodeEnum.Pay;//排除签名的
where += " and war." + nameof(Rb_Workflow_AuditRelevance.TemplateType) + "=0";
}
string sql = $@"
select count(distinct pu.Id) as Number from
......
......@@ -21,7 +21,7 @@ namespace Property.Repository
/// <param name="FrIdStr"></param>
/// <param name="status"></param>
/// <returns></returns>
public List<Rb_Workflow_AuditRelevance_Extend> GetAuditRelevanceList(int WorkFlowId,string FrIdStr="", WFRrocessStatus? status=null)
public List<Rb_Workflow_AuditRelevance_Extend> GetAuditRelevanceList(int WorkFlowId,string FrIdStr="", WFRrocessStatus? status=null, int TemplateType = 0)
{
string where = $@" where 1=1 ";
if (WorkFlowId > 0)
......@@ -34,6 +34,9 @@ namespace Property.Repository
if (status != null) {
where += $@" and ar.{nameof(Rb_Workflow_AuditRelevance.Stauts) }={(int)status}";
}
if (TemplateType >= 0) {
where += $@" and ar.{nameof(Rb_Workflow_AuditRelevance.TemplateType) }={TemplateType}";
}
string sql = $@"SELECT ar.* from rb_workflow_auditrelevance ar {where} ORDER BY ar.Sort asc";
return Get<Rb_Workflow_AuditRelevance_Extend>(sql).ToList();
}
......@@ -43,13 +46,16 @@ namespace Property.Repository
/// </summary>
/// <param name="FinanceIds"></param>
/// <returns></returns>
public List<Rb_Workflow_AuditRelevance_Extend> GetAuditRelevanceListForFIds(string FinanceIds)
public List<Rb_Workflow_AuditRelevance_Extend> GetAuditRelevanceListForFIds(string FinanceIds,int TemplateType =0)
{
string where = $@" where 1=1 and ar.{nameof(Rb_Workflow_AuditRelevance.Stauts)}=1";
if (!string.IsNullOrWhiteSpace(FinanceIds))
{
where += $@" and ar.{nameof(Rb_Workflow_AuditRelevance.WorkFlowId) } in({FinanceIds})";
}
if (TemplateType >= 0) {
where += $@" and ar.{nameof(Rb_Workflow_AuditRelevance.TemplateType) }={TemplateType}";
}
string sql = $@"SELECT ar.* from rb_workflow_auditrelevance ar {where} ORDER BY ar.Sort asc";
return Get<Rb_Workflow_AuditRelevance_Extend>(sql).ToList();
}
......
using Property.Model.Entity;
using Property.Model.Extend;
using REBORN.Common.Enum;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
......@@ -57,12 +59,12 @@ namespace Property.Repository
where += " and p.FinanceId =" + dmodel.FinanceId;
}
string sql = $@" select distinct ss.*,sw.Name as WareHouseName,p.FinanceId from RB_Supplies_StockIn ss
string sql = $@" select ss.*,sw.Name as WareHouseName,p.FinanceId from RB_Supplies_StockIn ss
left join rb_supplies_warehouse sw on ss.WarehouseId=sw.Id
left join rb_supplies_stockindetail ssd on ss.Id=ssd.StockInId
left join rb_supplies_material sm on ssd.SuppliesId=sm.Id
left join RB_Procurement p on ss.ProcurementId=p.Id
{where} order by ss.Id desc";
{where} group by ss.Id order by ss.Id desc";
return GetPage<RB_Supplies_StockIn_Extend>(pageIndex, pageSize, out count, sql).ToList();
}
......@@ -166,5 +168,80 @@ GROUP BY sid.SuppliesId,DATE_FORMAT(si.StockOutDate,'%Y-%m')";
return Get<RB_Supplies_StockIn_Extend>(sql).ToList();
}
}
/// <summary>
/// 获取带我审核的入库
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="dmodel"></param>
/// <param name="count"></param>
/// <returns></returns>
public List<RB_Supplies_StockIn_Extend> GetStockInWaitMyAuditPageList(int pageIndex, int pageSize, RB_Supplies_StockIn_Extend dmodel, out long count)
{
string where = " where 1=1 ";
where += string.Format(" AND ss.{0}={1}", nameof(RB_Supplies_StockIn_Extend.Status), 0);
where += $@" and ss.RB_Group_Id={dmodel.RB_Group_Id}";
if (!string.IsNullOrWhiteSpace(dmodel.StartTime))
{
where += $@" and ss.{nameof(RB_Supplies_StockIn_Extend.StockInDate)} >='{dmodel.StartTime}'";
}
if (!string.IsNullOrWhiteSpace(dmodel.EndTime))
{
where += $@" and ss.{nameof(RB_Supplies_StockIn_Extend.StockInDate)} <='{dmodel.EndTime + " 23:59:59"}'";
}
if (!string.IsNullOrWhiteSpace(dmodel.StockInNum))
{
where += " and ss." + nameof(RB_Supplies_StockIn_Extend.StockInNum) + " like '%" + dmodel.StockInNum + "%'";
}
if (!string.IsNullOrWhiteSpace(dmodel.SuppliesNum.Trim()))
{
where += " and sm." + nameof(RB_Supplies_StockIn_Extend.SuppliesNum) + " like '%" + dmodel.SuppliesNum.Trim() + "%'";
}
if (!string.IsNullOrWhiteSpace(dmodel.SuppliesName.Trim()))
{
where += " and sm." + nameof(RB_Supplies_Material.Name) + " like '%" + dmodel.SuppliesName.Trim() + "%'";
}
if (!string.IsNullOrWhiteSpace(dmodel.SupplierName.Trim()))
{
where += " and ss." + nameof(RB_Supplies_StockIn_Extend.SupplierName) + " like '%" + dmodel.SupplierName.Trim() + "%'";
}
if (dmodel.WarehouseId > 0)
{
where += " and ss." + nameof(RB_Supplies_StockIn_Extend.WarehouseId) + "=" + dmodel.WarehouseId;
}
if (dmodel.FinanceId > 0)
{
where += " and p.FinanceId =" + dmodel.FinanceId;
}
if (dmodel.AuditEmId > 0)
{
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditEmId) + "=" + dmodel.AuditEmId;
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditStatus) + "=" + (int)WFRrocessStatus.NotAudit;
where += " and ss." + nameof(RB_Supplies_StockIn_Extend.StockInState) + "=" + (int)StockInStatusEnum.StockInWarting;//需要入库单在待入库
where += " and war." + nameof(Rb_Workflow_AuditRelevance_Extend.SpecialNode) + " !=" + (int)WFSpecialNodeEnum.Pay;//排除签名的
where += " and war." + nameof(Rb_Workflow_AuditRelevance_Extend.TemplateType) + " =1";
}
if (dmodel.AuditedEmId > 0)
{
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditEmId) + "=" + dmodel.AuditedEmId;
where += " and wa." + nameof(Rb_Workflow_Auditrecord.AuditStatus) + " in(" + (int)WFRrocessStatus.AuditThrough + "," + (int)WFRrocessStatus.AuditNotThrough + "," + (int)WFRrocessStatus.Rejected + ")";
where += " and war." + nameof(Rb_Workflow_AuditRelevance_Extend.SpecialNode) + " !=" + (int)WFSpecialNodeEnum.Pay;//排除签名的
where += " and war." + nameof(Rb_Workflow_AuditRelevance_Extend.TemplateType) + " =1";
}
string sql = $@" select ss.*,sw.Name as WareHouseName,p.FinanceId from RB_Supplies_StockIn ss
left join rb_supplies_warehouse sw on ss.WarehouseId=sw.Id
left join rb_supplies_stockindetail ssd on ss.Id=ssd.StockInId
left join rb_supplies_material sm on ssd.SuppliesId=sm.Id
left join RB_Procurement p on ss.ProcurementId=p.Id
left join rb_workflow_auditrecord wa on ss.Id=wa.WorkFlowId
LEFT JOIN rb_workflow_auditrelevance war on wa.AuditId=war.Id
{where} group by ss.Id order by ss.Id desc";
return GetPage<RB_Supplies_StockIn_Extend>(pageIndex, pageSize, out count, sql).ToList();
}
}
}

using Microsoft.AspNetCore.Mvc;
using REBORN.Common.API;
using REBORN.Common.Plugin;
using Property.Module.FixedAssets;
using System;
using System.IO;
using Property.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Property.Model.Extend;
using System.Collections.Generic;
using System.Linq;
using REBORN.Common;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace Property.WebApi.Controllers.User
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class ECWorkFlowController : ControllerBase
{
PropertyModule propertyModule = new PropertyModule();
#region 电商操作耗材入库流程
/// <summary>
/// 设置耗材入库流程
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetECSuppliesStockInFlow(object request)
{
JObject parms1 = JObject.Parse(request.ToString());
string msg = EncryptionHelper.AesDecrypt(parms1.GetStringValue("msg"), Config.FinanceKey);
var parms = JObject.Parse(msg.ToString());
int StockInId = parms.GetInt("StockInId", 0);
if (StockInId <= 0) {
return ApiResult.ParamIsNull();
}
return propertyModule.SetSuppliesStockInFlow(StockInId);
}
#endregion
}
}
......@@ -55,6 +55,7 @@ namespace Property.WebApi
"http://www.test.com:8082",
"http://localhost:8080",
"http://localhost:8081",
"http://localhost:8082",
"http://testzcyx.oytour.com:8080",
"http://testzcyx.oytour.com:8081",
"http://testzcyx.oytour.com",
......
......@@ -4,11 +4,11 @@
"DefaultConnectionPName": "MySql.Data.MySqlClient",
"PropertyConnection": "server=192.168.2.214;port=3306;user id=reborn;password=Reborn@2018;database=test_property;CharSet=utf8; Convert Zero Datetime=true; ",
"PropertyConnectionPName": "MySql.Data.MySqlClient",
"FinanceConnection": "server=192.168.2.214;port=3306;user id=reborn;password=Reborn@2018;database=test_reborn_finance;CharSet=utf8; Convert Zero Datetime=true; ",
"FinanceConnection": "server=192.168.2.214;port=3306;user id=reborn;password=Reborn@2018;database=reborn_finance;CharSet=utf8; Convert Zero Datetime=true; ",
"FinanceConnectionPName": "MySql.Data.MySqlClient",
"LogConnection": "server=192.168.2.214;port=3306;user id=reborn;password=Reborn@2018;database=reborn_log;CharSet=utf8; Convert Zero Datetime=true; ",
"LogConnectionPName": "MySql.Data.MySqlClient",
"MallConnection": "server=192.168.2.214;user id=reborn;password=Reborn@2018;database=test_reborn_mall;CharSet=utf8; Convert Zero Datetime=true; ",
"MallConnection": "server=192.168.2.214;user id=reborn;password=Reborn@2018;database=test_reborn_mall_3;CharSet=utf8; Convert Zero Datetime=true; ",
"MallConnectionPName": "MySql.Data.MySqlClient"
},
"Logging": {
......@@ -30,7 +30,7 @@
"ImSecret": "66000451fb72",
"FinanceKey": "FinanceMallInsertToERPViitto2020",
"OutCurrencyId": 1,
"PaymentFinanceApi": "http://testapi.oytour.com/api/Mall/InsertFinanceBatchForMallOut",
"PaymentFinanceApi": "http://192.168.2.16:8083/api/Mall/InsertFinanceBatchForMallOut",
"ExpendDirector": 1756, //财务支出创建人
"ExpendBranchId": 49, //财务支出创建人公司
"ExpendDepartment": 331,
......
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