DS7Zhanhao
hanxuntao 2 years ago
parent 9b516f3104
commit ed89d3ace7

@ -1,2 +1,2 @@
2020-08-25 15:48:39,453 [DEBUG] [DeadlineJob] [DefaultQuartzScheduler_Worker-2] - 查找截港时间即将到期的订单数量0时间条件2020-08-25 18:00:00
2020-08-25 15:58:07,012 [DEBUG] [DeadlineJob] [DefaultQuartzScheduler_Worker-2] - 查找截港时间即将到期的订单数量0时间条件2020-08-25 18:00:00
2022-08-29 17:03:24,073 [DEBUG] [DeadlineJob] [DefaultQuartzScheduler_Worker-2] - 查找截港时间即将到期的订单数量0时间条件2022-08-29 20:00:00
2022-08-29 17:06:36,902 [DEBUG] [DeadlineJob] [DefaultQuartzScheduler_Worker-2] - 查找截港时间即将到期的订单数量0时间条件2022-08-29 20:00:00

@ -897,6 +897,15 @@ namespace Resources {
}
}
/// <summary>
/// 查找类似 运输方式 的本地化字符串。
/// </summary>
internal static string LabelTRANSTYPE {
get {
return ResourceManager.GetString("LabelTRANSTYPE", resourceCulture);
}
}
/// <summary>
/// 查找类似 船名 的本地化字符串。
/// </summary>

@ -483,4 +483,7 @@
<data name="LabelSaleName" xml:space="preserve">
<value>销售</value>
</data>
<data name="LabelTRANSTYPE" xml:space="preserve">
<value>运输方式</value>
</data>
</root>

@ -276,6 +276,24 @@ namespace Resources {
}
}
/// <summary>
/// 查找类似 海运 的本地化字符串。
/// </summary>
internal static string SelectTRANSTYPE_S {
get {
return ResourceManager.GetString("SelectTRANSTYPE_S", resourceCulture);
}
}
/// <summary>
/// 查找类似 海铁联运 的本地化字符串。
/// </summary>
internal static string SelectTRANSTYPE_SR {
get {
return ResourceManager.GetString("SelectTRANSTYPE_SR", resourceCulture);
}
}
/// <summary>
/// 查找类似 截单确认 的本地化字符串。
/// </summary>

@ -300,4 +300,10 @@
<data name="TopBtnConfirm" xml:space="preserve">
<value>截单</value>
</data>
<data name="SelectTRANSTYPE_S" xml:space="preserve">
<value>海运</value>
</data>
<data name="SelectTRANSTYPE_SR" xml:space="preserve">
<value>海铁联运</value>
</data>
</root>

@ -9,6 +9,7 @@
<IISExpressWindowsAuthentication />
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<NameOfLastUsedPublishProfile>FolderProfile</NameOfLastUsedPublishProfile>
</PropertyGroup>
<ProjectExtensions>
<VisualStudio>

@ -119,6 +119,7 @@ namespace BookingWeb.Controllers
viewModel.BLFRT = "FREIGHT PREPAID";
viewModel.NOBILL = "THREE";
viewModel.COPYNOBILLL = "ONE";
viewModel.TRANSTYPE = "海运";
}

@ -118,5 +118,9 @@ namespace BookingWeb.DB.Model
public string EMAIL { get; set; }
public string SALE_NAME { get; set; }
public string TRANSTYPE { get; set; }
}
}

@ -175,6 +175,7 @@ namespace BookingWeb.Models
//public string NOTIFYPARTYTEL { get; set; }
public string SALE_NAME { get; set; }
public string TRANSTYPE { get; set; }
public List<OpCtnOrderEditViewModel> CtrnList { get; set; }
}

@ -14,6 +14,10 @@
selectItemsNum.Add(new SelectListItem() { Value = n, Text = n });
}
var seleteItemsTRANSTYPE = new List<SelectListItem>();
seleteItemsTRANSTYPE.Add(new SelectListItem() { Value = "海运", Text = Resources.LangOrder.SelectTRANSTYPE_S});
seleteItemsTRANSTYPE.Add(new SelectListItem() { Value = "海铁联运", Text = Resources.LangOrder.SelectTRANSTYPE_SR });
}
<div class="top-navigation">
@ -446,6 +450,12 @@
@Html.TextBoxFor(m => m.SALE_NAME, new { @class = "form-control" })
</div>
</div>
<div class="form-group col-md-6 col-sm-12">
<label class="col-lg-3 col-md-4 col-sm-3 control-label">@Resources.LangAll.LabelTRANSTYPE</label>
<div class="col-lg-9 col-md-8 col-sm-9">
@Html.DropDownListFor(m => m.TRANSTYPE, seleteItemsTRANSTYPE, new { @class = "form-control" })
</div>
</div>
<div class="form-group hdn-temp col-md-6 col-sm-12">
<label class="col-lg-3 col-md-4 col-sm-3 control-label">@Resources.LangAll.LabelTEMPSET</label>

@ -23,7 +23,7 @@
</appSettings>
<connectionStrings>
<add name="BookingDB" connectionString="Server=.;Database=Booking;User ID=sa;Password=sa123;" providerName="System.Data.SqlClient" />
<add name="BookingDB" connectionString="Server=ds-hxt;Database=Booking;User ID=sa;Password=ds20040201;" providerName="System.Data.SqlClient" />
<!--<add name="BookingDB" connectionString="Server=ddlucky.vicp.net,11433;Database=Booking;User ID=sa;Password=Ds20040201;" providerName="System.Data.SqlClient" />-->
</connectionStrings>

@ -514,7 +514,7 @@ namespace D7MqClient
if (checker != null)
result.CHECKER = checker.USERID;
result.INVOICETYPE = 2;
result.INVOICETYPE = 1;
result.OPERATETIME = TimestampHelper.GetDateTime(inv.apiSendTime);
result.EXCHANGERATE = _firstthisfee.EXCHANGERATE;
result.COMPANYID = DS7COMPANYID;

@ -597,12 +597,17 @@ namespace DSWeb.Areas.Account.DAL.Chfee_Invoice_HangXin
data.FEETYPE = Convert.ToInt16(reader["FEETYPE"]);
data.FEETYPEREF = Convert.ToString(reader["FEETYPEREF"]);
data.CURRENCY = Convert.ToString(reader["CURRENCY"]);
data.AMOUNT = Convert.ToDecimal(reader["AMOUNT"]);
data.DOAMOUNT = Convert.ToDecimal(reader["DOAMOUNT"]);
if (reader["AMOUNT"] != DBNull.Value)
data.AMOUNT = Convert.ToDecimal(reader["AMOUNT"]);
if (reader["DOAMOUNT"] != DBNull.Value)
data.DOAMOUNT = Convert.ToDecimal(reader["DOAMOUNT"]);
data.ORIGCURRENCY = Convert.ToString(reader["ORIGCURRENCY"]);
data.ORIGAMOUNT = Convert.ToDecimal(reader["ORIGAMOUNT"]);
data.ORIGSTLAMOUNT = Convert.ToDecimal(reader["ORIGSTLAMOUNT"]);
data.EXCHANGERATE = Convert.ToDecimal(reader["EXCHANGERATE"]);
if (reader["ORIGAMOUNT"] != DBNull.Value)
data.ORIGAMOUNT = Convert.ToDecimal(reader["ORIGAMOUNT"]);
if (reader["ORIGSTLAMOUNT"] != DBNull.Value)
data.ORIGSTLAMOUNT = Convert.ToDecimal(reader["ORIGSTLAMOUNT"]);
if (reader["EXCHANGERATE"] != DBNull.Value)
data.EXCHANGERATE = Convert.ToDecimal(reader["EXCHANGERATE"]);
if (reader["ETD"] != DBNull.Value)
data.ETD = Convert.ToString(reader["ETD"]);
data.ACCDATE = Convert.ToString(reader["ACCDATE"]);
@ -763,7 +768,8 @@ namespace DSWeb.Areas.Account.DAL.Chfee_Invoice_HangXin
data.FEETYPE = Convert.ToInt16(reader["FEETYPE"]);
data.FEETYPEREF = Convert.ToString(reader["FEETYPEREF"]);
data.CURRENCY = Convert.ToString(reader["CURRENCY"]);
data.AMOUNT = Convert.ToDecimal(reader["AMOUNT"]);
if (reader["AMOUNT"] != DBNull.Value)
data.AMOUNT = Convert.ToDecimal(reader["AMOUNT"]);
#endregion
headList.Add(data);
}

@ -4228,6 +4228,35 @@ Ext.extend(Shipping.MsChfeeAudit, Ext.Panel, {
},
onCancelAuditClick: function (menu, event) {
var GidStr = '';
var records = this.AddGridCheckBoxModel.selected.items;
if (records.length == 0) {
Ext.Msg.show({ title: Zi.LAN.TiShi, msg: Zi.LAN.SelectShenHe, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
}
var bodyAddDatas = [];
for (var i = 0; i < records.length; i++) {
var rec = records[i];
rec.REMARK = '';
bodyAddDatas.push(rec);
}
if (bodyAddDatas.length == 0) {
Ext.Msg.show({ title: Zi.LAN.TiShi, msg: Zi.LAN.LoaclYeWuNo, icon: Ext.Msg.INFO, buttons: Ext.Msg.OK });
return;
} else {
//提示', '确定删除该记录吗?
this.winAuditBackShow.show();
}
},
onSelViewClick: function (menu, event) {
var GidStr = '';

@ -1449,8 +1449,8 @@ namespace DSWeb.MvcShipping.Controllers
}
if (string.IsNullOrEmpty(errstr)) {
result.Success = true;
if (!string.IsNullOrEmpty(errstr)) {
result.Success = false;
result.Message = errstr;
var jsonRespose2 = new JsonResponse
{

@ -30,6 +30,7 @@ using System.Text.RegularExpressions;
using DSWeb.Areas.MvcShipping.DAL;
using DSWeb.Common.DB;
using System.Linq;
using DSWeb.MvcShipping.DAL.MsCodeGoodInv;
namespace DSWeb.MvcShipping.DAL.MsChFeeDAL
{
@ -6332,6 +6333,33 @@ namespace DSWeb.MvcShipping.DAL.MsChFeeDAL
result.Message = "客户发票抬头不能为空!";
return result;
}
var invgood = MsCodeGoodInvDAL.GetData("GOODNAME in (select top 1 GOODNAME from code_fee where [NAME]='"+fee.FeeName+"') ");
if (!string.IsNullOrEmpty(invgood.GOODCODE))
{
MsDjyInvLj.GoodsCode = invgood.GOODCODE;
MsDjyInvLj.GoodsName = invgood.GOODNAME;
MsDjyInvLj.Unit = invgood.UNIT;
MsDjyInvLj.FavouredPolicyFlag = invgood.ISUSEPREF;
MsDjyInvLj.FavouredPolicyName = invgood.DEFREMARK;
MsDjyInvLj.ZeroRateFlag = invgood.ZTAXTYPE;
MsDjyInvLj.TaxRate = invgood.TAXRATE.ToString();
}
else {
invgood = MsCodeGoodInvDAL.GetData("ISDEF='1' ");
if (!string.IsNullOrEmpty(invgood.GOODCODE))
{
MsDjyInvLj.GoodsCode = invgood.GOODCODE;
MsDjyInvLj.GoodsName = invgood.GOODNAME;
MsDjyInvLj.Unit = invgood.UNIT;
MsDjyInvLj.FavouredPolicyFlag = invgood.ISUSEPREF;
MsDjyInvLj.FavouredPolicyName = invgood.DEFREMARK;
MsDjyInvLj.ZeroRateFlag = invgood.ZTAXTYPE;
MsDjyInvLj.TaxRate = invgood.TAXRATE.ToString();
}
}
//if (string.IsNullOrEmpty(MsDjyInvLj.BuyerName) || string.IsNullOrEmpty(MsDjyInvLj.BuyerTaxNum) || string.IsNullOrEmpty(MsDjyInvLj.BuyerTel)
// || string.IsNullOrEmpty(MsDjyInvLj.BuyerAddress) || string.IsNullOrEmpty(MsDjyInvLj.BuyerAccount))

@ -61,7 +61,7 @@ namespace DSWeb.MvcShipping.DAL.MsCodeFeeSetList
when 13 then '' when 0 then '' end),'') DEFAULTCREDITREF,A.CREATEUSER,
B.SHOWNAME as CREATEUSERREF,
A.CREATETIME ,
A.FEEGROUP,A.FEEFRT,A.TAXRATE,A.DUITYPE ");
A.FEEGROUP,A.FEEFRT,A.TAXRATE,A.DUITYPE,A.GOODNAME ");
strSql.Append(@"FROM code_fee as A
INNER JOIN [user] as B
ON A.CREATEUSER = B.GID ");
@ -114,7 +114,7 @@ namespace DSWeb.MvcShipping.DAL.MsCodeFeeSetList
when 13 then '' when 0 then '' end),'') DEFAULTCREDITREF,A.CREATEUSER,
B.SHOWNAME as CREATEUSERREF,
A.CREATETIME ,
A.FEEGROUP,A.FEEFRT,A.TAXRATE,A.DUITYPE ");
A.FEEGROUP,A.FEEFRT,A.TAXRATE,A.DUITYPE,A.GOODNAME ");
strSql.Append(@"FROM code_fee as A
INNER JOIN [user] as B
ON A.CREATEUSER = B.GID ");
@ -213,6 +213,7 @@ namespace DSWeb.MvcShipping.DAL.MsCodeFeeSetList
data.FEEFRT = Convert.ToString(reader["FEEFRT"]);
data.TAXRATE = Convert.ToString(reader["TAXRATE"]);
data.DUITYPE = Convert.ToString(reader["DUITYPE"]);
data.GOODNAME = Convert.ToString(reader["GOODNAME"]);
#endregion
headList.Add(data);

@ -11119,7 +11119,10 @@ namespace DSWeb.MvcShipping.DAL.MsOpSeaeEdiPortDAL
if (type == "COSCOEDIKR" || type == "YDEDISF")
{
r.WriteLine("16::SOFAST SHIPPING LIMITED::::::::::" + "'");
var YDEDISFSHIPPER = MsSysParamSetDAL.GetData("PARAMNAME='YDEDISFSHIPPER'").PARAMVALUE;
r.WriteLine("16::"+ YDEDISFSHIPPER + "::::::::::" + "'");
Shipping = formatEdiStr("txt", bill.AGENT);
ShippingList = formatlengthStr(Shipping, 35);

@ -982,7 +982,7 @@ namespace DSWeb.Areas.MvcShipping.DAL.MsOp_InternalTrade
int num = 0;
foreach (DataRow row in table.Rows)
{
if (row[1].ToString() != "")
if (row[0].ToString() != "")
{
num = num + 1;
var CUSTNO = Convert.ToString(row["委托编号"]);

@ -52,6 +52,8 @@ namespace DSWeb.MvcShipping.Models.MsChFee
public string InGate { get; set; }
public string LastFreeDay { get; set; }
public string PayingFor { get; set; }
public List<MsDjyInvFeeDetail> Details { get; set; }
}

@ -108,6 +108,13 @@ namespace DSWeb.MvcShipping.Models.MsChFee
public string Checker { get; set; }
public string Clerk { get; set; }
public string RemarkTemplate { get; set; }
public string GoodsCode { get; set; }
public string GoodsName { get; set; }
public string Unit { get; set; }
public string FavouredPolicyFlag { get; set; }
public string FavouredPolicyName { get; set; }
public string ZeroRateFlag { get; set; }
public string TaxRate { get; set; }
public List<MsDjyInvLjBill> BillList { get; set; }
}

@ -144,6 +144,9 @@ namespace DSWeb.MvcShipping.Models.MsCodeFeeSetList
[ModelDB]
public string DUITYPE { get; set; }
[ModelDB]
public string GOODNAME { get; set; }
public CodeFeeSetList()
{
TableName = "code_fee";

@ -89,7 +89,6 @@ Ext.extend(Shipping.MsCodeFeeSetListEdit, Ext.Panel, {
this.comboxFEEFRT = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: Zi.LAN.FEEFRT, //'默认FRT',
store: this.StoreFEEFRT,
labelWidth: 60,
valueField: 'value',
displayField: 'text',
forceSelection: true,
@ -131,7 +130,6 @@ Ext.extend(Shipping.MsCodeFeeSetListEdit, Ext.Panel, {
this.comboxFeeGroup = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: Zi.LAN.FEEGROUP, //'默认币别',
labelWidth: 60,
store: this.StoreFeeGroup,
forceSelection: true,
name: 'FEEGROUP',
@ -179,13 +177,30 @@ Ext.extend(Shipping.MsCodeFeeSetListEdit, Ext.Panel, {
this.comboxDUITYPE = Ext.create('DsExt.ux.RefTableCombox', {
store: this.storeDUITYPE,
fieldLabel: Zi.LAN.DUITYPE, //'对账类别',
labelWidth: 60,
valueField: 'EnumValueName',
displayField: 'EnumValueName',
name: 'DUITYPE',
forceSelection: true
});
this.StoreCodeGoodInv = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsCodeGoodInv',
proxy: { url: '/MvcShipping/MsCodeGoodInv/GetDataList' }
});
this.StoreCodeGoodInv.load({
params: { condition: "" }
});
this.comboxCodeGoodInv = Ext.create('DsExt.ux.RefTableCombox', {
store: this.StoreCodeGoodInv,
fieldLabel: Zi.LAN.INVGOODNAME, //'对账类别',
forceSelection: true,
name: 'GOODNAME',
valueField: 'GOODNAME',
displayField: 'GOODNAME'
});
//表参照相关(编辑form)
@ -247,11 +262,16 @@ Ext.extend(Shipping.MsCodeFeeSetListEdit, Ext.Panel, {
defaultType: 'textfield',
items: [this.comboxCurr, this.comboxFEEFRT, {
fieldLabel: Zi.LAN.TAXRATE, //'TAXRATE',
labelWidth: 60,
name: 'TAXRATE'
}, this.comboxFeeGroup, this.comboxDUITYPE
}
]
}, this.myCheckboxService
}, {
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxFeeGroup, this.comboxDUITYPE, this.comboxCodeGoodInv
]
}, this.myCheckboxService
]//end items(fieldset 1)
}//end fieldset 1
]//end root items

@ -68,4 +68,29 @@ Ext.define('MsFEEGROUP', {
{ name: 'FEEGROUPNAME', type: 'string' },
{ name: 'REMARKS', type: 'string' }
]
});
});
Ext.define('MsCodeGoodInv', {
extend: 'Ext.data.Model',
idProperty: 'GID',
fields: [
{ name: 'GID', type: 'string' },
{ name: 'GOODCODE', type: 'string' },
{ name: 'GOODNAME', type: 'string' },
{ name: 'GOODCODENAME', type: 'string' },
{ name: 'DESCRIP', type: 'string' },
{ name: 'TAXRATE', type: 'string' },
{ name: 'TAXNO', type: 'string' },
{ name: 'TAXCLASS', type: 'string' },
{ name: 'TAXCLASSNAME', type: 'string' },
{ name: 'ISTAXPRICE', type: 'string' },
{ name: 'ISUSEPREF', type: 'string' },
{ name: 'ISDEF', type: 'string' },
{ name: 'SPEC', type: 'string' },
{ name: 'UNIT', type: 'string' },
{ name: 'ZTAXTYPE', type: 'string' },
{ name: 'DEFREMARK', type: 'string' },
{ name: 'DEFCURR', type: 'string' }
]
});

@ -43,6 +43,7 @@ Zi.LAN.JingGao = "Warning!";//警告
Zi.LAN.QingXianXuanZeXinXi = "Please choose first!";//请先选择要操作的信息!
Zi.LAN.ChaXunTiaoJianFuZhiCuoWu = "Inquiry condition is wrong, please check!";//查询条件赋值错误,请检查!
Zi.LAN.DUITYPE = "Fee Group";
Zi.LAN.INVGOODNAME = "Inoice Fee Name";
//#endregion

@ -45,6 +45,7 @@ Zi.LAN.JingGao = "警告";
Zi.LAN.QingXianXuanZeXinXi = "请先选择要操作的信息!";
Zi.LAN.ChaXunTiaoJianFuZhiCuoWu = "查询条件赋值错误,请检查!";
Zi.LAN.DUITYPE = "对账类别";
Zi.LAN.INVGOODNAME = "发票商品名称";
//#endregion

@ -4,7 +4,7 @@
fields: [
{name: 'GID', type: 'string' },//唯一编码
{name: 'STARTNAME', type: 'string' }, //账套名称
{name: 'STARTMONTH', type: 'date', dateFormat: 'Y-m' }, //启用年月
{name: 'STARTMONTH', type: 'string'}, //启用年月
{name: 'ISENABLE', type: 'bool' }, //是否启用
{name: 'ISLOGIN', type: 'string' }, //是否登录
{ name: 'FINANCESOFTCODE', type: 'string' }, //是否登录

@ -4,7 +4,7 @@
fields: [
{name: 'GID', type: 'string' },//唯一编码
{name: 'STARTNAME', type: 'string' }, //账套名称
{name: 'STARTMONTH', type: 'date', dateFormat: 'Y-m' }, //启用年月
{ name: 'STARTMONTH', type: 'string' }, //启用年月
{name: 'ISENABLE', type: 'bool' }, //是否启用
{name: 'ISLOGIN', type: 'string' }, //是否登录
{name: 'CORPID', type: 'string' },//分公司代码

@ -4672,6 +4672,8 @@ Ext.extend(Shipping.MsOpSeaeEdit, Ext.Panel, {
}
}, {
text: "远大EDI(顺发)", //"远大EDI",
id: 'EDI-YDEDISF',
hidden: true,
handler: function (menu, event) {
_this.onCreateEDIClick(menu, event, 'YDEDISF');
}

@ -2354,7 +2354,14 @@ Ext.extend(Shipping.MsOpSeaeIndex, Ext.Panel, {
handler: function (menu, event) {
_this.onCreateEDIClick(menu, event, 'YDEDI');
}
}, {
}, {
text: "远大EDI(顺发)", //"远大EDI",
id: 'EDI-YDEDISF',
hidden: true,
handler: function (menu, event) {
_this.onCreateEDIClick(menu, event, 'YDEDISF');
}
}, {
text: Zi.LAN.ZTEDI, //"中通EDI",
hidden: true,
id: 'EDI-ZTEDI',

@ -2,7 +2,7 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
<NameOfLastUsedPublishProfile>H:\DS7\DSWeb\Properties\PublishProfiles\配置文件1.pubxml</NameOfLastUsedPublishProfile>
<NameOfLastUsedPublishProfile>配置文件1</NameOfLastUsedPublishProfile>
<UseIISExpress>true</UseIISExpress>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<Use64BitIISExpress />

@ -7,11 +7,11 @@
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>x64</LastUsedPlatform>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<ExcludeApp_Data>false</ExcludeApp_Data>
<publishUrl>F:\DS7Deploy</publishUrl>
<DeleteExistingFiles>true</DeleteExistingFiles>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>D:\DONGSHENGWEBZC</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
</PropertyGroup>
</Project>

@ -5,8 +5,8 @@
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile>2022-07-01T11:51:54.8104015+08:00</TimeStampOfAssociatedLegacyPublishXmlFile>
<_PublishTargetUrl>F:\DS7Deploy</_PublishTargetUrl>
<TimeStampOfAssociatedLegacyPublishXmlFile>2022-06-28T12:17:44.7010000+08:00</TimeStampOfAssociatedLegacyPublishXmlFile>
<_PublishTargetUrl>D:\DONGSHENGWEBZC</_PublishTargetUrl>
<History>False|2022-08-29T03:47:46.7317666Z;False|2022-08-29T11:47:01.4649176+08:00;</History>
<LastFailureDetails />
</PropertyGroup>
@ -369,7 +369,7 @@
<publishTime>07/15/2022 16:45:39</publishTime>
</File>
<File Include="Areas/Account/Viewsjs/Chfee_Audit/Chfee_AuditBL.js">
<publishTime>07/15/2022 16:46:28</publishTime>
<publishTime>08/30/2022 17:03:31</publishTime>
</File>
<File Include="Areas/Account/Viewsjs/Chfee_Audit/Chfee_AuditLR.js">
<publishTime>07/15/2022 16:46:50</publishTime>
@ -5847,19 +5847,19 @@
<publishTime>06/28/2022 12:17:34</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsCodeFeeSetList/MsCodeFeeSetListEdit.js">
<publishTime>07/15/2022 08:43:32</publishTime>
<publishTime>08/30/2022 16:55:27</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsCodeFeeSetList/MsCodeFeeSetListIndex.js">
<publishTime>06/28/2022 12:17:34</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsCodeFeeSetList/MsCodeFeeSetListModel.js">
<publishTime>06/28/2022 12:17:34</publishTime>
<publishTime>08/30/2022 16:45:17</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsCodeFeeSetList/Zi_en-us.js">
<publishTime>06/28/2022 12:17:34</publishTime>
<publishTime>08/30/2022 16:46:34</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsCodeFeeSetList/Zi_zh-cn.js">
<publishTime>06/28/2022 12:17:34</publishTime>
<publishTime>08/30/2022 16:46:11</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsCodeFeeTemplate/Edit.js">
<publishTime>06/28/2022 12:17:34</publishTime>
@ -6411,7 +6411,7 @@
<publishTime>06/28/2022 12:17:34</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsCwDesignStartusing/MsCwDesignStartusingModel.js">
<publishTime>06/28/2022 12:17:34</publishTime>
<publishTime>08/31/2022 15:32:41</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsCwDesignStartusing/多账套列表MsCwDesignStartusingIndex.js">
<publishTime>06/28/2022 12:17:34</publishTime>
@ -6423,7 +6423,7 @@
<publishTime>06/28/2022 12:17:34</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsCwDesignStartusingUser/MsCwDesignStartusingUserModel.js">
<publishTime>06/28/2022 12:17:34</publishTime>
<publishTime>08/31/2022 15:37:24</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsCwGenlegAccitems/Edit.js">
<publishTime>06/28/2022 12:17:34</publishTime>
@ -7731,7 +7731,7 @@
<publishTime>06/28/2022 12:17:34</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsOpSeae/MsOpSeaeEdit.js">
<publishTime>08/25/2022 15:37:00</publishTime>
<publishTime>08/29/2022 16:51:21</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsOpSeae/MsOpSeaeEditView.js">
<publishTime>06/28/2022 12:17:34</publishTime>
@ -7752,7 +7752,7 @@
<publishTime>06/28/2022 12:17:34</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsOpSeae/MsOpSeaeIndex.js">
<publishTime>08/12/2022 09:06:18</publishTime>
<publishTime>08/29/2022 16:51:21</publishTime>
</File>
<File Include="Areas/MvcShipping/Viewsjs/MsOpSeae/MsOpSeaeModel.js">
<publishTime>08/12/2022 08:03:47</publishTime>
@ -12873,7 +12873,7 @@
<publishTime>07/28/2022 11:31:49</publishTime>
</File>
<File Include="bin/DSWeb.dll">
<publishTime>08/29/2022 10:28:05</publishTime>
<publishTime>09/01/2022 09:44:02</publishTime>
</File>
<File Include="bin/DSWeb.Interface.dll">
<publishTime>08/09/2022 15:32:53</publishTime>
@ -12882,10 +12882,10 @@
<publishTime>08/09/2022 15:32:53</publishTime>
</File>
<File Include="bin/DSWeb.pdb">
<publishTime>08/29/2022 10:28:05</publishTime>
<publishTime>09/01/2022 09:44:02</publishTime>
</File>
<File Include="bin/DSWeb.XmlSerializers.dll">
<publishTime>08/29/2022 10:28:15</publishTime>
<publishTime>09/01/2022 09:44:05</publishTime>
</File>
<File Include="bin/DSWebComponent.dll">
<publishTime>07/01/2022 17:44:01</publishTime>
@ -24078,7 +24078,7 @@
<publishTime>06/28/2022 12:17:56</publishTime>
</File>
<File Include="Web.config">
<publishTime>08/29/2022 10:05:58</publishTime>
<publishTime>09/01/2022 09:35:57</publishTime>
</File>
<File Include="WebSearchEngine/SearchEngineAdapter.aspx">
<publishTime>06/28/2022 12:17:56</publishTime>

@ -0,0 +1,141 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace JobCreateFee
{
/// <summary>
/// datetime数据类型拓展
/// </summary>
public static class DateTimeExtension
{
/// <summary>
///将一个时间转换为秒级时间戳
/// </summary>
/// <param name="datetime">时间</param>
/// <returns></returns>
public static long ToTimeStampSeconds(this DateTime datetime)
{
return (long)Math.Round((datetime.ToUniversalTime() - new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero)).TotalSeconds);
}
/// <summary>
///将一个时间转换为毫秒级时间戳
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public static long ToTimeStampMilliSeconds(this DateTime datetime)
{
return (long)Math.Round((datetime.ToUniversalTime() - new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero)).TotalMilliseconds);
}
/// <summary>
/// 获取标准时间戳 秒级
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public static long ToTimeStamp(this DateTime datetime)
{ return ToTimeStampSeconds(datetime); }
/// <summary>
/// 将时间转换为时间字符串编码 yyyyMMddHHmmssffff
/// </summary>
/// <param name="datetime"></param>
/// <returns></returns>
public static string ToTimeStr(this DateTime datetime)
{
return datetime.ToString("yyyyMMddHHmmssffff");
}
/// <summary>
/// 判断时间是否大于1970年的有效时间
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static bool IsValidTime(this DateTime dateTime)
{
if (dateTime.Date >= DateTime.Parse("1970-1-1"))
return true;
else return false;
}
/// <summary>
/// 获时间一天中的开始时间
/// </summary>
/// <param name="dateTime"></param>
public static DateTime GetDayStartTime(this DateTime dateTime)
{
return dateTime.Date;
}
/// <summary>
/// 获取时间一天的结束时间
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static DateTime GetDateEndTime(this DateTime dateTime)
{
return dateTime.Date.AddDays(1).AddSeconds(-1);
}
/// <summary>
/// 获取时间周的星期一的时间
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static DateTime GetWeekStartTime(this DateTime dateTime)
{
return dateTime.GetWeekOfDayTime(1);
}
/// <summary>
/// 获取时间周的周日
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static DateTime GetWeekEndTime(this DateTime dateTime)
{
return dateTime.GetWeekOfDayTime(7);
}
/// <summary>
/// 获取时间周的指定周几时间
/// </summary>
/// <param name="dateTime"></param>
/// <param name="Day">周几 1 2 3 4 5 6 7</param>
/// <returns></returns>
public static DateTime GetWeekOfDayTime(this DateTime dateTime, int Day)
{
if (Day < 1)
Day = 1;
if (Day > 7)
Day = (int)dateTime.DayOfWeek;
return dateTime.Subtract(new TimeSpan(dateTime.DayOfWeek - (DayOfWeek)Day, 0, 0, 0)).Date;
}
/// <summary>
/// 获取时间月开始时间
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static DateTime GetMonthStartTime(this DateTime dateTime)
{
return new DateTime(dateTime.Year, dateTime.Month, 1).Date;
}
/// <summary>
/// 获取一个月的结束时间
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static DateTime GetMonthEndTime(this DateTime dateTime)
{
return dateTime.GetMonthStartTime().AddMonths(1).AddDays(-1);
}
}
}

@ -61,6 +61,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="DateTimeExtension.cs" />
<Compile Include="Helpers.cs" />
<Compile Include="JobGetMhData.cs" />
<Compile Include="JobD7CreateFee.cs" />
@ -78,6 +79,7 @@
<Compile Include="JobDjyXf.cs" />
<Compile Include="Model\CreateFee.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="StringExtension.cs" />
</ItemGroup>
<ItemGroup>
<None Include="job_scheduling_data_2_0.xsd">

@ -31,6 +31,13 @@ namespace JobCreateFee
int reqTimeout = Convert.ToInt32(context.JobDetail.JobDataMap.GetString("RequestTimeout"));
long ts = DataTableToJsonHelper.ConvertDateTimeToInt(DateTime.Now);
string KFCUSTCODE = context.JobDetail.JobDataMap.GetString("KFCUSTCODE");
string KFCUSTKEY = context.JobDetail.JobDataMap.GetString("KFCUSTKEY");
string KFUSERID = context.JobDetail.JobDataMap.GetString("KFUSERID");
string KFURL = context.JobDetail.JobDataMap.GetString("KFURL");
Dictionary<string, string> dicData = new Dictionary<string, string>();
dicData.Add("compid", companyCode);
@ -132,13 +139,13 @@ namespace JobCreateFee
sql = "INSERT INTO ch_fee(GID, BSNO, FEETYPE, FEENAME,CUSTOMERTYPE, CUSTOMERNAME, UNIT, UNITPRICE, QUANTITY, AMOUNT, CURRENCY,";
sql = sql + "EXCHANGERATE, REASON, REMARK, COMMISSIONRATE,ENTEROPERATOR, ENTERDATE,ISOPEN, ISADVANCEDPAY, SORT, FEESTATUS, FEEFRT,CARGO_GID,";
sql = sql + "TAXRATE,NOTAXAMOUNT,ACCTAXRATE,LINENUM,TAXUNITPRICE,MODIFIEDUSER,MODIFIEDTIME,WMSOUTBSNO,PREAMOUNT,ISINVOICE,INPUTMODE,LOCALCURR,MANAGER,ISACC,FEEDESCRIPTION,DELIVERYNO)";
sql = sql + "TAXRATE,NOTAXAMOUNT,ACCTAXRATE,LINENUM,TAXUNITPRICE,MODIFIEDUSER,MODIFIEDTIME,WMSOUTBSNO,PREAMOUNT,ISINVOICE,INPUTMODE,LOCALCURR,MANAGER,ISACC,FEEDESCRIPTION,DELIVERYNO,SETTLEMENT,INVOICE,ORDERAMOUNT,ORDERINVOICE,ORDERSETTLEMENT,ORDERINVSETTLEMENT)";
sql = sql + "VALUES ";
sql = sql + "('"+ Guid.NewGuid().ToString()+ "','" + BS.BSNO + "',2,'" + FEENAME.Replace(",", "") + "','船公司','CMA','" + GETUNIT(feedata.UNIT.Replace(",", ""), feedata.CTNALL.Replace(",", "")) + "'";
sql = sql + "," + price + "," + COUNT.Replace(",", "") + "," + AMOUNT.Replace(",", "") + ",'" + curr + "'," + exrate.ToString() + ",'','',0";
sql = sql + ",'"+ ENTEROPERATOR + "',GETDATE(),0,0,10,1,'',''";
sql = sql + ",0,"+ AMOUNT.Replace(",", "") + ",0,0," + price + ","+ ENTEROPERATOR + ",GETDATE(),'',0,0,'','RMB','',0,'" + feedata.FEECODE.Replace(",", "").Replace(".", "") + "'";
sql = sql + ",'" + returndata.INVOICE_NO + "')";
sql = sql + ",'" + returndata.INVOICE_NO + "',0,0,0,0,0,0)";
// log.Debug($"更新语句:{sql}");
SqlCommand cmd = new SqlCommand(sql, dbcon);
cmd.ExecuteNonQuery();
@ -150,6 +157,9 @@ namespace JobCreateFee
feeback.Success = true;
feeback.Reason = "";
feebacklist.Add(feeback);
string guid = Guid.NewGuid().ToString();
DeductionFee(guid, returndata.MBLNO,KFCUSTCODE,KFCUSTKEY,KFUSERID,KFURL);
}
}
//}
@ -421,6 +431,50 @@ namespace JobCreateFee
}
public bool DeductionFee(string _Guid, string _MBLNO, string custname, string custkey, string userid, string djyurl, string bsType = "7")
{
var seconds = DateTime.Now.ToTimeStamp();
var runId = Guid.NewGuid().ToString();
var srcBeforMD5 = $"{runId}{custname}expend{bsType}0{_Guid}{_MBLNO}{seconds}{custkey}";
//调用扣费接口
var postObj = new
{
runId,
userId = custname,
module = "expend",//固定
bsType = bsType,
sendType = "0",
timestamp = seconds,//秒级时间戳
md5 = srcBeforMD5.ToMd5(),// 加密字符串小写 RunId + UserId + Module + BsType + SendType+Timestamp+ Key
Data = new
{
BSNO = _Guid,
MBLNO = _MBLNO,
CtnrInfo = "",
CtnrCount = 1,
IsCredit = 1,//是否是信用支付 1 信用支付 0不允许信用支付默认值为0
LURURENID = userid,///当前登录人id
SENDUSERID = userid
}
};
var apiJson = JsonConvert.SerializeObject(postObj);
var apiRtn = WebRequestHelper.DoPost(djyurl, apiJson);
var jobjApiRtn = JObject.Parse(apiRtn);
var code = Convert.ToInt32(jobjApiRtn.GetValue("code").ToString());
if (code == 200 || code == 450)
{
return true;
}
else
{
log.Debug($"扣费失败提醒,执行扣费失败!");
}
return false;
}
}

@ -108,9 +108,14 @@ namespace JobCreateFee
log.Error(ex.StackTrace);
}
}
}
public class JsonXFSend
{

@ -0,0 +1,470 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace JobCreateFee
{
/// <summary>
/// string 拓展
/// </summary>
public static class StringExtension
{
/// <summary>
/// 隐藏中间字符串
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string GetHideCentre(this string str)
{
if (str.Length > 8)
{
return string.Format("{0}***{1}", str.Substring(0, 4), str.Substring(str.Length - 4, 4));
}
else if (str.Length > 5)
{
return string.Format("{0}***{1}", str.Substring(0, 2), str.Substring(str.Length - 2, 2));
}
else if (str.Length > 4)
{
return string.Format("{0}***{1}", str.Substring(0, 1), str.Substring(str.Length - 1, 1));
}
else
{
return GetHideHead(str);
}
}
/// <summary>
/// 隐藏头部
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string GetHideHead(this string str)
{
var length = 1;
length = length > str.Length ? str.Length : length;
if (str.Length < 4)
{
length = 1;
if (str.Length == 1)
{
return str;
}
return "**" + str.Substring(str.Length - length, length);
}
length = 4;
return "****" + str.Substring(str.Length - length, length);
}
/// <summary>
/// 用于判断是否为空字符
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static bool IsNull(this string s)
{
return s == null || (s.Trim().Length == 0);
}
/// <summary>
/// 用于判断是否为非空字符
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static bool IsNotNull(this string s)
{
return !s.IsNull();
}
#region 加密算法
/// <summary>
/// DES对称加密字符串
/// </summary>
/// <param name="encryptString">待加密的字符串</param>
/// <param name="key">加密密钥,要求为16位</param>
/// <returns>加密成功返回加密后的字符串,失败返回源串</returns>
public static string DESEncrypt(this string encryptString, string key)
{
try
{
byte[] rgbKey = Encoding.UTF8.GetBytes(key);
//用于对称算法的初始化向量(默认值)。
byte[] rgbIV = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F };
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
Aes dCSP = Aes.Create();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// DES对称解密字符串
/// </summary>
/// <param name="decryptString">待解密的字符串</param>
/// <param name="key">解密密钥要求16位</param>
/// <returns></returns>
public static string DESDecrypt(this string decryptString, string key)
{
try
{
//用于对称算法的初始化向量(默认值)
byte[] Keys = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F };
byte[] rgbKey = Encoding.UTF8.GetBytes(key);
byte[] rgbIV = Keys;
byte[] inputByteArray = Convert.FromBase64String(decryptString);
Aes DCSP = Aes.Create();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Encoding.UTF8.GetString(mStream.ToArray());
}
catch
{
return decryptString;
}
}
/// <summary>
/// 将字符串转换成MD5加密字符串
/// </summary>
/// <param name="orgStr"></param>
/// <returns></returns>
public static string ToMd5(this string orgStr)
{
using (var md5 = MD5.Create())
{
var encoding = Encoding.UTF8;
var encryptedBytes = md5.ComputeHash(encoding.GetBytes(orgStr));
var sb = new StringBuilder(32);
foreach (var bt in encryptedBytes)
{
sb.Append(bt.ToString("x").PadLeft(2, '0'));
}
return sb.ToString().ToLower();
}
}
#endregion
/// <summary>
/// 获取扩展名
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string GetExt(this string s)
{
var ret = string.Empty;
if (!s.Contains('.')) return ret;
var temp = s.Split('.');
ret = temp[temp.Length - 1];
return ret;
}
/// <summary>
/// 验证QQ格式
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static bool IsQq(this string s)
{
return s.IsNull() || Regex.IsMatch(s, @"^[1-9]\d{4,15}$");
}
/// <summary>
/// 将字符串根据分隔符转换我List<string>
/// </summary>
/// <param name="str"></param>
/// <param name="split">分隔符</param>
/// <returns></returns>
public static List<string> ToListString(this string str, char split)
{
return new List<string>(str.Split(split));
}
/// <summary>
/// 判断是否为有效的Email地址
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static bool IsEmail(this string s)
{
if (!s.IsNull())
{
//return Regex.IsMatch(s,
// @"^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))" +
// @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$");
const string pattern = @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$";
return Regex.IsMatch(s, pattern);
}
return false;
}
/// <summary>
/// 判断是否是url
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static bool IsUrl(this string s)
{
if (!s.IsNull())
{
const string pattern = @"^(http://|https://)?((?:[A-Za-z0-9]+-[A-Za-z0-9]+|[A-Za-z0-9]+)\.)+([A-Za-z]+)[/\?\:]?.*$";
return Regex.IsMatch(s, pattern);
}
return false;
}
/// <summary>
/// 验证是否是合法的电话号码
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static bool IsPhone(this string s)
{
if (!s.IsNull())
{
return Regex.IsMatch(s, @"^\+?((\d{2,4}(-)?)|(\(\d{2,4}\)))*(\d{0,16})*$");
}
return true;
}
/// <summary>
/// 验证是否是合法的手机号码
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static bool IsMobile(this string s)
{
if (!s.IsNull())
{
return Regex.IsMatch(s, @"^\+?\d{0,4}?[1][3-8]\d{9}$");
}
return false;
}
/// <summary>
/// 验证是否是合法的邮编
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static bool IsZipCode(this string s)
{
if (!s.IsNull())
{
return Regex.IsMatch(s, @"[1-9]\d{5}(?!\d)");
}
return true;
}
/// <summary>
/// 验证是否是合法的传真
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static bool IsFax(this string s)
{
if (!s.IsNull())
{
return Regex.IsMatch(s, @"(^[0-9]{3,4}\-[0-9]{7,8}$)|(^[0-9]{7,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)");
}
return true;
}
/// <summary>
/// 检查字符串是否为有效的int数字
/// </summary>
/// <param name="val"></param>
/// <returns></returns>
public static bool Isint(this string val)
{
if (IsNull(val))
return false;
int k;
return int.TryParse(val, out k);
}
/// <summary>
/// 字符串转数字未转换成功返回0
/// </summary>
/// <param name="val"></param>
/// <returns></returns>
public static int ToInt(this string val)
{
if (IsNull(val))
return 0;
int k;
return int.TryParse(val, out k) ? k : 0;
}
/// <summary>
/// 判断是否是json字符串
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static bool IsJson(this string str)
{
try
{
if (str.IsNull())
return false;
JsonConvert.DeserializeObject(str);
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 检查字符串是否为有效的INT64数字
/// </summary>
/// <param name="val"></param>
/// <returns></returns>
public static bool IsInt64(this string val)
{
if (IsNull(val))
return false;
long k;
return long.TryParse(val, out k);
}
/// <summary>
/// 验证是否是身份证
/// </summary>
/// <param name="ID"></param>
/// <returns></returns>
public static bool IsCardId(this string ID)
{
var r = false;
if (IsNull(ID))
r = false;
if (ID.Length == 15)
{
var date = $"19{ID.Substring(6, 2)}-{ID.Substring(8, 2)}-{ID.Substring(10, 2)}";
DateTime dt;
return DateTime.TryParse(date, out dt);
}
else if (ID.Length == 18)
{
var date = $"{ID.Substring(6, 4)}-{ID.Substring(10, 2)}-{ID.Substring(12, 2)}";
DateTime dt;
return DateTime.TryParse(date, out dt);
}
else { r = false; }
return r;
}
/// <summary>
/// 检查字符串是否为有效的double
/// </summary>
/// <param name="val"></param>
/// <returns></returns>
public static bool IsDecimal(this string val)
{
if (IsNull(val))
return false;
double d;
return double.TryParse(val, out d);
}
/// <summary>
///检测字符串是否是时间类型
/// </summary>
/// <param name="val"></param>
/// <returns></returns>
public static bool IsDateTime(this string val)
{
if (IsNull(val))
return false;
DateTime d;
return DateTime.TryParse(val, out d);
}
/// <summary>
/// 字符串转时间 非时间返回空
/// </summary>
/// <param name="val"></param>
/// <returns></returns>
public static DateTime? ToDateTime(this string val)
{
if (val.IsDateTime())
{
return DateTime.Parse(val);
}
else
{
return null;
}
}
/// <summary>
/// 将时间类型字符转时间戳
/// </summary>
/// <param name="Val"></param>
/// <returns></returns>
public static long ToTimestamp(this string Val)
{
var time = Val.ToDateTime();
return time != null ? ((DateTime)time).ToTimeStamp() : 0;
}
/// <summary>
/// 从左边截取N个字符
/// </summary>
/// <param name="val"></param>
/// <returns></returns>
public static string GetLeftStr(this string val, int count = 0)
{
if (count > val.Length)
return null;
return val.Substring(0, count);
}
/// <summary>
///从右边截取N个字符
/// </summary>
/// <param name="val"></param>
/// <param name="count"></param>
/// <returns></returns>
public static string GetRightStr(this string val, int count = 0)
{
if (count > val.Length)
return null;
return val.Substring(val.Length - count, count);
}
}
}

@ -66,8 +66,80 @@
<cron-expression>0 0/5 * * * ? </cron-expression>
</cron>
</trigger>
<job>
<name>JobD7DjyFee</name>
<group>Job</group>
<description>订阅大简云账单</description>
<job-type>JobCreateFee.JobD7DjyFee,JobAutoCreateFee</job-type>
<durable>true</durable>
<recover>false</recover>
<job-data-map>
<!--连接字符串-->
<entry>
<key>ConnectString</key>
<value>Data Source=223.223.95.213;Initial Catalog=DONGSHENG;Persist Security Info=True;User ID=sa;Password=Smart*DATA_80120</value>
</entry>
<!--请求地址-->
<entry>
<key>DjyReqFeeUrl</key>
<value>http://www.myshipping.net:8656/Booking/GetSingleBillRecord</value>
</entry>
<!--返回地址-->
<entry>
<key>DjyReturnFeeUrl</key>
<value>http://www.myshipping.net:8656/Booking/SingleBillFeedback</value>
</entry>
<!--请求用户代码-->
<entry>
<key>DjyFeeCompanyCode</key>
<value>6bb062a3-f1dc-40a0-912b-e51e63cb7930</value>
</entry>
<!--请求超时(单位:秒)-->
<entry>
<key>RequestTimeout</key>
<value>30</value>
</entry>
<!--默认费用录入ID-->
<entry>
<key>ENTEROPERATOR</key>
<value>6bb062a3-f1dc-40a0-912b-e51e63cb7930</value>
</entry>
<!--扣费公司账户-->
<entry>
<key>KFCUSTCODE</key>
<value>6bb062a3-f1dc-40a0-912b-e51e63cb7930</value>
</entry>
<!--扣费公司秘钥-->
<entry>
<key>KFCUSTKEY</key>
<value>6bb062a3-f1dc-40a0-912b-e51e63cb7930</value>
</entry>
<!--扣费默认人员ID-->
<entry>
<key>KFUSERID</key>
<value>6bb062a3-f1dc-40a0-912b-e51e63cb7930</value>
</entry>
<!--扣费接口地址-->
<entry>
<key>KFURL</key>
<value>http://www.myshipping.net:8656</value>
</entry>
</job-data-map>
</job>
<trigger>
<cron>
<name>triggerJobDjyFee</name>
<group>Job</group>
<description>订阅大简云账单</description>
<job-name>JobD7DjyFee</job-name>
<job-group>Job</job-group>
<cron-expression>0 0 7,12 * * ? </cron-expression>
</cron>
</trigger>

Loading…
Cancel
Save