wet 2 years ago
parent 8ddcd61481
commit e39862a483

@ -17,13 +17,7 @@ namespace djy.IService.Djy
/// <summary>
/// 获取大简云的数据字典
/// </summary>
/// <param name="Key">Key字典类型 用于区分获取数据</param>
/// <param name="Dto">查询条件 使用 code 数据的编号或编码 和name 名称查询条件</param>
/// <returns></returns>
ReturnResult<object> GetDjyDict(string Key, ApiFromDto Dto);
/// <summary>
///统一任务启动

@ -9,6 +9,7 @@ namespace djy.Model.Isf
public class ISF_Company
{
[MaxLength(50)]
[JsonProperty, Column(IsPrimary = true, IsNullable = false)]
public string GID { get; set; }
[MaxLength(50)]

@ -9,6 +9,7 @@ namespace djy.Model.Isf
public class ISF_CompanyTemplate
{
[MaxLength(50)]
[JsonProperty, Column(IsPrimary = true, IsNullable = false)]
public string GID { get; set; }
[MaxLength(50)]
public string TemPlateName { get; set; }

@ -9,6 +9,7 @@ namespace djy.Model.Isf
public class ISF_Master
{
[MaxLength(50)]
[JsonProperty, Column(IsPrimary = true, IsNullable = false)]
public string GID { get; set; }
[MaxLength(50)]

@ -129,13 +129,12 @@ namespace djy.Service.Ams
{
string guid = "";
List<string> hblist = null;
hblist = dto.HouseDto.Select(x => x.HBLNo).ToList();
var mlist= DbBus.Get(DbList.AMSCenter).Select<AMS_Master>().Where(x => x.IsDel != true && x.MBLNO == dto.MBLNO && x.GID!=dto.GID).ToOne();
var hlist = DbBus.Get(DbList.AMSCenter).Select<AMS_House>().Where(x => x.IsDel != true && hblist.Contains(x.HBLNo)&& x.PID!=dto.GID).ToOne();
hblist = dto.HouseDto.Select(x => x.HBLNo.Trim()).ToList();
var mlist= DbBus.Get(DbList.AMSCenter).Select<AMS_Master>().Where(x => x.IsDel != true && x.MBLNO == dto.MBLNO.Trim() && x.GID!=dto.GID&& x.MBLNO!="").ToOne();
var hlist = DbBus.Get(DbList.AMSCenter).Select<AMS_House>().Where(x => x.IsDel != true && hblist.Contains(x.HBLNo)&& x.PID!=dto.GID&&x.HBLNo!="").ToOne();
if (mlist!=null|| hlist!=null)
{
return "-1";
}
if (dto.GID.IsNull())

@ -0,0 +1,245 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using djy.Model;
using System.Text.Json;
using DotNetCore.CAP;
using Microsoft.IdentityModel.Tokens;
using System.Security.Claims;
using djy.IService.Djy;
using Common.DJYModel;
using Common.Extensions;
using Common.Entity;
using Common.Tools;
using Common;
namespace djy.Service.DjyService
{
public class ToolsService : ServBase, IToolsService
{
#region 数据字典配置
public ReturnPagedResult<tb_sys_Dictionary> GetDictionaryList(tb_sys_Dictionary Dto, PageEntity pageEntity)
{
var rs = new ReturnPagedResult<tb_sys_Dictionary>();
//var sql = DbBus.Get(DbList.djypublicedb).Select<tb_sys_Dictionary>().WhereIf(Dto.GroupName.IsNotNull(), w => w.GroupName == Dto.GroupName)
// .WhereIf(Dto.Key.IsNotNull(), w => w.Key == Dto.Key);
//var list = sql.Count(out var totalcount).Page(pageEntity.Page, pageEntity.Limit).ToList();
//rs.Pageset(pageEntity, totalcount);
//rs.Data = list;
//rs.OK();
var getlist = YsRedisHelp.RedisGet<List<tb_sys_Dictionary>>("dictlist");
if (getlist == null)
{
var sql = DbBus.Get(DbList.djydb).Select<tb_sys_Dictionary>().WhereIf(Dto.GroupName.IsNotNull(), w => w.GroupName == Dto.GroupName)
.WhereIf(Dto.Key.IsNotNull(), w => w.Key == Dto.Key);
rs.Data = sql.ToList();
}
else
{
if (Dto.GroupName.IsNotNull() && Dto.Key.IsNull())
{
rs.Data = getlist.Where(w => w.GroupName == Dto.GroupName).ToList();
}
else if (Dto.GroupName.IsNotNull() && Dto.Key.IsNotNull())
{
rs.Data = getlist.Where(w => w.GroupName == Dto.GroupName && w.Key == Dto.Key).ToList();
}
else
{
rs.Data = getlist;
}
}
rs.Count = rs.Data.Count();
rs.PageIndex = 1;
rs.Limit = rs.Data.Count;
rs.OK();
return rs;
}
public ReturnResult<int> UpDictionary(tb_sys_Dictionary Dto)
{
var rs = new ReturnResult<int>();
rs.Data = DbBus.Get(DbList.djydb).Update<tb_sys_Dictionary>().Set(w => w.Value, Dto.Value).WhereIf(Dto.Key.IsNotNull(), w => w.Key == Dto.Key)
.WhereIf(Dto.Id > 0, w => w.Id == Dto.Id).ExecuteAffrows();
rs.OK();
bindConfigDict();
return rs;
}
/// <summary>
/// 初始化绑定数据字典到 sysOptionConfig.ConfigDcit配置
/// </summary>
/// <param name="Isjob">间隔自动刷新</param>
/// <param name="jobtime">间隔时间 分钟 默认一分钟</param>
/// <returns></returns>
public bool bindConfigDict(bool Isjob = false, int jobtime = 1)
{
var GetDcitList = DbBus.Get(DbList.djydb).Select<tb_sys_Dictionary>().OrderBy(w => w.GroupName).OrderBy(w => w.Indexint).ToList();
var grouplist = GetDcitList.GroupBy(w => w.GroupName).Select(g => new { GroupName = g.Key }).ToList();
YsRedisHelp.RedisSet("dictlist", GetDcitList.Where(w => w.GroupName != "sys").ToList());
//grouplist.ForEach(item => {
// //写入redis缓存
// YsRedisHelp.RedisSet("dict_"+item.GroupName, GetDcitList.Where(w=>w.GroupName==item.GroupName).ToList());
//});
var dlist = GetDcitList.Where(w => w.DictType == "config").ToList();
if (dlist.Count == 0)
{ //没有字典数据则初始化数据库字典
sysOptionConfig.Webconfig.ConfigInitcount++;
if (sysOptionConfig.Webconfig.ConfigInitStatus == false)
{
sysOptionConfig.Webconfig.ConfigInitStatus = true;
_DictInit();
dlist = DbBus.Get(DbList.djydb).Select<tb_sys_Dictionary>().Where(w => w.DictType == "config").OrderBy(w => w.GroupName).ToList();
}
}
var dictlist = dlist.ToDictionary(item => string.Format("{0}.{1}", item.GroupName, item.Key), item => item.Value);
sysOptionConfig.Webconfig.ConfigList = dictlist;
if (Isjob)
{
int _dict_refreshtime = jobtime;
try
{
if (sysOptionConfig.Webconfig.ConfigList.GetValueOrDefault("sys.dict_refreshtime").IsNotNull())
{
_dict_refreshtime = int.Parse(sysOptionConfig.Webconfig.ConfigList.GetValueOrDefault("sys.dict_refreshtime"));
}
}
catch { }
Hangfire.RecurringJob.AddOrUpdate(() => bindConfigDict(false, 1), Hangfire.Cron.MinuteInterval(_dict_refreshtime), TimeZoneInfo.Local);
}
_LogsAdd($"刷新缓存{DateTime.Now}Isjob{Isjob}", "bindConfigDict", null);
return true;
}
/// <summary>
/// 获取数据字典分组列表
/// </summary>
/// <returns></returns>
public Dictionary<string, string> GetConfigList(string GroupName = null)
{
if (sysOptionConfig.Webconfig.ConfigList == null)
{
bindConfigDict();
}
if (GroupName.IsNotNull())
return sysOptionConfig.Webconfig.ConfigList.Where(w => w.Key.StartsWith(GroupName + ".")).ToDictionary(x => x.Key, x => x.Value);
else
return sysOptionConfig.Webconfig.ConfigList;
}
/// <summary>
/// 获取配置参数
/// </summary>
/// <param name="key"></param>
/// <param name="GroupName">默认sys</param>
public string GetConfigKey(string key, string GroupName = "sys")
{
if (sysOptionConfig.Webconfig.ConfigList == null)
{
bindConfigDict();
}
var dictkey = string.Format("{0}.{1}", GroupName, key);
return sysOptionConfig.Webconfig.ConfigList.GetValueOrDefault(dictkey);
}
/// <summary>
/// 获取配置参数转djy标准dict类型对象列表
/// </summary>
/// <param name="Key"></param>
/// <param name="GroupName"></param>
/// <returns></returns>
public List<DjyDictDto> GetConfigKeyToDictList(string Key, string GroupName = "sys")
{
var list = new List<DjyDictDto>();
try
{
list = Json.JsonToObject<List<DjyDictDto>>(GetConfigKey(Key));
}
catch { }
return list;
}
/// <summary>
/// 初始化配置数据库字典
/// </summary>
private static void _DictInit()
{//
sysOptionConfig.Webconfig.ConfigInitStatus = true;
var dictlist = new List<tb_sys_Dictionary>();
dictlist.AddRange(
new List<tb_sys_Dictionary>() {
new tb_sys_Dictionary{Indexint=1, GroupName="sys", Key="txxp_pyhost", Value="http://47.104.90.170:9000", Title="提箱小票爬虫服务器", Memo="" },
new tb_sys_Dictionary{Indexint=3, GroupName="sys", Key="Email_SmtpHost", Value="smtpcom.263xmail.com", Title="email smtm服务器地址", Memo="" },
new tb_sys_Dictionary{Indexint=4, GroupName="sys", Key="Email_SmtpPort", Value="465", Title="email发动端口", Memo="" },
new tb_sys_Dictionary{Indexint=5, GroupName="sys", Key="Email_LoginName", Value="admin@dongshengsoft.com", Title="email发送者账户", Memo="" },
new tb_sys_Dictionary{Indexint=6, GroupName="sys", Key="Email_Password", Value="ds!@#)(*", Title="发送账户密码", Memo="" },
new tb_sys_Dictionary{Indexint=7, GroupName="sys", Key="Email_SendAccess", Value="dongshengsoft@dongshengsoft.com", Title="发送者", Memo="" },
new tb_sys_Dictionary{Indexint=12, GroupName="sys", Key="host_djypublice", Value="http://txxp.myshipping.net", Title="大简云公用应用url地址", Memo="" },
new tb_sys_Dictionary{Indexint=14, GroupName="sys", Title="船务公司数据 json格式",Key="carrierlist", Value="[{\"Code\":\"BSL\",\"Name\":\"巴拉基船务\"},{\"Code\":\"MEL\",\"Name\":\"玛利亚那\"},{\"Code\":\"JIJIANG\",\"Name\":\"锦江航运\"},{\"Code\":\"SCIL\",\"Name\":\"印度国航\"},{\"Code\":\"PCL\",\"Name\":\"泛舟海运\"},{\"Code\":\"SITC\",\"Name\":\"海丰船务\"},{\"Code\":\"SLS\",\"Name\":\"新加坡海领\"},{\"Code\":\"CCL\",\"Name\":\"中通\"},{\"Code\":\"STX\",\"Name\":\"世腾船务\"},{\"Code\":\"UASC\",\"Name\":\"阿拉伯航运\"},{\"Code\":\"NILEDUTCH\",\"Name\":\"尼罗河航运\"},{\"Code\":\"MCC\",\"Name\":\"新航\"},{\"Code\":\"SML\",\"Name\":\"森罗商船\"},{\"Code\":\"YML\",\"Name\":\"阳明\"},{\"Code\":\"OUASCA\",\"Name\":\"怡和\"},{\"Code\":\"KKC\",\"Name\":\"神原汽船\"},{\"Code\":\"CNC\",\"Name\":\"正利航运\",\"Config\":\"OrderHead=AA\"},{\"Code\":\"ANL\",\"Name\":\"澳航\",\"Config\":\"OrderHead=WD\"},{\"Code\":\"VSI\",\"Name\":\"维萨航运\"},{\"Code\":\"SMH\",\"Name\":\"上海德生达人\"},{\"Code\":\"SWIRE\",\"Name\":\"太古\"},{\"Code\":\"CMA\",\"Name\":\"法国达飞\",\"Config\":\"OrderHead=QD\"},{\"Code\":\"ZIM\",\"Name\":\"以星轮船\"},{\"Code\":\"HLC\",\"Name\":\"赫伯罗特\"},{\"Code\":\"ASL\",\"Name\":\"亚海\"},{\"Code\":\"CKL\",\"Name\":\"天敬海运\"},{\"Code\":\"MSC\",\"Name\":\"地中海航运\"},{\"Code\":\"GSL\",\"Name\":\"金星轮船\"},{\"Code\":\"CCNI\",\"Name\":\"智利航运\"},{\"Code\":\"IAL\",\"Name\":\"运达\"},{\"Code\":\"HMM\",\"Name\":\"现代\"},{\"Code\":\"OOCL\",\"Name\":\"东方海外\"},{\"Code\":\"WHL\",\"Name\":\"万海\"},{\"Code\":\"DSL\",\"Name\":\"斗宇\"},{\"Code\":\"TYS\",\"Name\":\"太荣\"},{\"Code\":\"DYL\",\"Name\":\"东映\"},{\"Code\":\"FESCO\",\"Name\":\"FESCO\"},{\"Code\":\"GFS\",\"Name\":\"格飞驰\"},{\"Code\":\"WINFAST\",\"Name\":\"永发航运\"},{\"Code\":\"ONE\",\"Name\":\"网联船务\"},{\"Code\":\"EAS\",\"Name\":\"达通\"},{\"Code\":\"ACI\",\"Name\":\"亚利安莎\"},{\"Code\":\"APL\",\"Name\":\"美国总统\"},{\"Code\":\"TSL\",\"Name\":\"德祥\"},{\"Code\":\"MARI\",\"Name\":\"玛丽亚娜\"},{\"Code\":\"ESL\",\"Name\":\"阿联酋航运\"},{\"Code\":\"KMTC\",\"Name\":\"高丽\"},{\"Code\":\"HSD\",\"Name\":\"汉堡南美\"},{\"Code\":\"AAL\",\"Name\":\"澳亚航运\"},{\"Code\":\"CUL\",\"Name\":\"中联航运\"},{\"Code\":\"SINOLINE\",\"Name\":\"中外运集装箱\"},{\"Code\":\"MSK\",\"Name\":\"马士基\"},{\"Code\":\"PHL\",\"Name\":\"浦海\"},{\"Code\":\"SAF\",\"Name\":\"南非航运\"},{\"Code\":\"EMC\",\"Name\":\"长荣\"},{\"Code\":\"SNKO\",\"Name\":\"长锦\"},{\"Code\":\"COHE\",\"Name\":\"京汉\"},{\"Code\":\"NAM\",\"Name\":\"南星\"},{\"Code\":\"SOF\",\"Name\":\"顺发\"},{\"Code\":\"PIL\",\"Name\":\"太平\"},{\"Code\":\"IRL\",\"Name\":\"伊朗航运\"},{\"Code\":\"POS\",\"Name\":\"泛奥升\"},{\"Code\":\"GQF\",\"Name\":\"安通\"},{\"Code\":\"HAT\",\"Name\":\"兴亚船务\"},{\"Code\":\"RCL\",\"Name\":\"宏海\"},{\"Code\":\"COSCO\",\"Name\":\"中远海运\"}]", Memo="" },
new tb_sys_Dictionary{Indexint=15, GroupName="sys", Key="boxstationlist", Title="场站 json列表数据",Value="[{\"Code\":\"JIEFENG\",\"Name\":\"捷丰国际\",\"Config\":\"\"},{\"Code\":\"STXKEYUN\",\"Name\":\"世腾客运\",\"Config\":\"\"},{\"Code\":\"ZHONGCHUANG\",\"Name\":\"中创物流\",\"Config\":\"\"},{\"Code\":\"GangLianXin\",\"Name\":\"港联欣物流\",\"Config\":\"\"},{\"Code\":\"GLCZ\",\"Name\":\"青岛港路\",\"Config\":\"\"},{\"Code\":\"SSCZ\",\"Name\":\"胜狮物流\",\"Config\":\"\"},{\"Code\":\"SZX\",\"Name\":\"青岛神州行\",\"Config\":\"\"},{\"Code\":\"GANGWAN\",\"Name\":\"青岛港联海物流\",\"Config\":\"\"},{\"Code\":\"ZHENGHUA\",\"Name\":\"青岛振华\",\"Config\":\"\"},{\"Code\":\"WYCZ\",\"Name\":\"中国外运\",\"Config\":\"\"},{\"Code\":\"LUHAI\",\"Name\":\"青岛陆海国际\",\"Config\":\"\"},{\"Code\":\"JINHENG\",\"Name\":\"青岛锦恒\",\"Config\":\"\"},{\"Code\":\"GLJ\",\"Name\":\"港联捷,怡航\",\"Config\":\"\"},{\"Code\":\"DAYA\",\"Name\":\"大亚场站\",\"Config\":\"\"},{\"Code\":\"WLXX\",\"Name\":\"物流信息\",\"Config\":\"\"},{\"Code\":\"FLCZ\",\"Name\":\"泛联场站\",\"Config\":\"\"},{\"Code\":\"QDKY\",\"Name\":\"青岛客运\",\"Config\":\"\"},{\"Code\":\"SDITDS\",\"Name\":\"通关与物流状态\",\"Config\":\"\"},{\"Code\":\"MJCZ\",\"Name\":\"青岛珉钧\",\"Config\":\"\"},{\"Code\":\"MGDG\",\"Name\":\"青岛东港,明港东港\",\"Config\":\"\"},{\"Code\":\"QDGLH\",\"Name\":\"青岛港联华\",\"Config\":\"\"},{\"Code\":\"CHANGRONG\",\"Name\":\"长荣\",\"Config\":\"vgmislogin=1\"},{\"Code\":\"GLR\",\"Name\":\"港联荣\",\"Config\":\"vgmislogin=1\"},{\"Code\":\"YGT\",\"Name\":\"云港通\",\"Config\":\"\"},{\"Code\":\"XINBADA\",\"Name\":\"新霸达场站\",\"Config\":\"vgmislogin=1\"}]", Memo="" },
new tb_sys_Dictionary{Indexint=16, GroupName="sys", Key="boxweigthbetween", Title="箱子重量区间",Value="2600,36000", Memo="" }
// new tb_tb_sys_Dictionary{Indexint=9, GroupName="sys", Key="", Title="",Value="", Memo="" }
}
);
dictlist.ForEach(x => { x.Init(); });
DbBus.Get(DbList.djydb).Insert(dictlist).ExecuteAffrows();
}
#endregion
#region 统一任务调用
/// <summary>
/// 统一任务调用
/// </summary>
public void AutoJob()
{
if (!sysOptionConfig.Webconfig.IsDev)
{
Hangfire.RecurringJob.AddOrUpdate(() => _LogsClear(), "0 0 0 * * ? ", TimeZoneInfo.Local);
}
}
#endregion
public void LogsAdd(string Message, string GroupName = null, object DataJson = null, string ObjGid = null, object ResultJson = null)
{
_LogsAdd(Message, GroupName, DataJson, ObjGid, ResultJson);
}
/// <summary>
/// 日志数据库定期清理
/// </summary>
public void _LogsClear()
{ //删除10天前的并收缩logs日志数据库文件
var delcount = DbBus.Get(DbList.Logsdb).Delete<tb_sys_Logs>().Where(w => w.AddTime < DateTime.Now.AddDays(-7).ToTimeStamp()).ExecuteAffrows();
var dbcc = DbBus.Get(DbList.Logsdb).Ado.ExecuteNonQuery("DBCC SHRINKFILE (N'djy_logs_log' , 1, TRUNCATEONLY)");
_LogsAdd("del Logs :" + delcount + "行", "logs", new { delcount, dbcc }, null);
}
}
}

@ -59,7 +59,7 @@ namespace djy.Service.Isf
public string SaveInfo(ISFDto dto, User user)
{
string guid = "";
var mlist = DbBus.Get(DbList.AMSCenter).Select<ISF_Master>().Where(x => x.IsDel != true && x.MBLNO == dto.MBLNO && x.GID != dto.GID).ToOne();
var mlist = DbBus.Get(DbList.AMSCenter).Select<ISF_Master>().Where(x => x.IsDel != true && x.MBLNO == dto.MBLNO && x.GID != dto.GID&&x.MBLNO!="").ToOne();
if (mlist != null)
{
return "-1";

File diff suppressed because one or more lines are too long

@ -20,6 +20,7 @@ using djy_AmsApi;
using djy.Service;
using Common.Extensions;
using djy.Service.DjyService;
using djy.IService.Djy;
namespace djy_AmsApi
{
@ -160,7 +161,23 @@ namespace djy_AmsApi
{
endpoints.MapControllers();
});
//启动运行启动
_Job(env);
}
/// <summary>
/// 启动任务请求
/// </summary>
private void _Job(IWebHostEnvironment env)
{
//初始化数据字典
var _itool = IOC.AddServer<IToolsService>();
// _itool.bindConfigDict(true, 5);
_itool.AutoJob();
}
}
}

@ -5,6 +5,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<Project>
<PropertyGroup>
<_PublishTargetUrl>F:\DJY.AMS\web\djy_IsfApi\bin\Release\net5.0\publish\</_PublishTargetUrl>
<History>True|2022-07-01T01:54:42.5780181Z;True|2022-06-30T15:28:48.8212173+08:00;True|2022-06-30T15:07:27.8048719+08:00;True|2022-06-30T14:23:02.1357807+08:00;True|2022-06-30T14:07:07.8696769+08:00;True|2022-06-30T09:14:19.1360602+08:00;True|2022-06-29T16:34:08.2367476+08:00;</History>
<History>True|2022-07-01T08:13:16.7902814Z;True|2022-07-01T15:53:11.0569260+08:00;True|2022-07-01T09:54:42.5780181+08:00;True|2022-06-30T15:28:48.8212173+08:00;True|2022-06-30T15:07:27.8048719+08:00;True|2022-06-30T14:23:02.1357807+08:00;True|2022-06-30T14:07:07.8696769+08:00;True|2022-06-30T09:14:19.1360602+08:00;True|2022-06-29T16:34:08.2367476+08:00;</History>
</PropertyGroup>
</Project>
Loading…
Cancel
Save