You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
3.1 KiB
C#

10 months ago
using DSWeb.Common;
using DSWeb.Common.DB;
using DSWeb.Common.Helper;
using log4net;
using log4net.Repository.Hierarchy;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Quartz;
using RabbitMQ.Client;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Linq;
using System.Runtime.Caching;
using System.Runtime.Remoting.Contexts;
using System.Text;
using System.Threading.Tasks;
namespace DSWeb.Service.Output
{
//
public class MakeNeedReadApply : IJob
{
private ILog log = LogManager.GetLogger(typeof(MakeNeedReadApply));
string DS7connStr = ConfigurationManager.AppSettings["DS7connStr"];
string DS7URL = ConfigurationManager.AppSettings["DS7URL"];
public void Execute(IJobExecutionContext context)
{
//int reqTimeout = Convert.ToInt32(context.JobDetail.JobDataMap.GetString("RequestTimeout"));
try
{
log.Debug("生成列表 start");
// 申报日期为过去48小时之内的业务
//DecHead.DDate>= 当前时间-2天 && DecHead.DDate<当前时间
//和
//DecHead.AgentStatus==结关 且 OP_LOGICINFO不存在 PROPNAME="结关已读取",BSNO=DecHead.BSNO 的数据
//not exists(select 1 from OP_LOGICINFO where PROPNAME='结关已读取' and BSNO=DecHead.BSNO)
//查询来自视图select * from VW_JGWL_APPLYNEEDREAD
//结果写入 OP_LOGICINFO 数值为NAME="定时读取单一窗口" BSNO=DecHead.BSNO
//下方执行读取服务每次读取一条并删除一条
var cdc = new CommonDataContext(DS7connStr);
var needreadList1 = cdc.VW_JGWL_APPLYNEEDREAD.Where(x => 1 == 1).ToList();
var nolist = new List<string>();
if (needreadList1 != null && needreadList1.Count > 0) {
var currList = cdc.OP_LOGICINFO.Where(x => x.PROPNAME == "定时读取单一窗口").ToList();
foreach (var item in needreadList1) {
if (currList != null && currList.Count > 0) {
if (currList.Exists(x => x.BSNO == item.GID)) {
continue;
}
}
var newrec = new OP_LOGICINFO_md();
newrec.PROPNAME = "定时读取单一窗口";
newrec.BSNO = item.GID;
newrec.PROPVALUE = item.GVALUE;
nolist.Add($"[{item.GID},{item.GVALUE}]");
cdc.OP_LOGICINFO.Add(newrec);
}
cdc.SaveChanges();
}
var str= string.Join(",", nolist);
log.Debug(str);
log.Debug("生成列表 end");
}
catch (Exception ex)
{
log.Debug($"catch{ex.Message}");
log.Error(ex.Message);
log.Error(ex.StackTrace);
}
}
}
}