Exemplo n.º 1
0
        private void xsbSync_Click(object sender, EventArgs e)
        {
            ConfigHelper.BeginDate = xdeBeginDate.DateTime;
            var dtBegin = DateTime.Now;

            _syncResultInfoSet.Clear();
            _syncResultInfoSet.AddInfo($"同步时间段为:{ConfigHelper.BeginDate}至{ConfigHelper.NextDate}");
            xsbSync.Enabled = false;
            xbbiConnectionConfig.Enabled = false;
            xbiCommonConfig.Enabled      = false;
            new Thread(() =>
            {
                new SyncClientList {
                    SyncResultInfoSet = _syncResultInfoSet
                }.DataSync();                                                            //同步客户信息
                new SyncApplicantList {
                    SyncResultInfoSet = _syncResultInfoSet
                }.DataSync();                                                               //同步申请人
                new SyncAgencyList {
                    SyncResultInfoSet = _syncResultInfoSet
                }.DataSync();                                                            //同步外所
                new SyncPatentList {
                    SyncResultInfoSet = _syncResultInfoSet
                }.DataSync();                                                            //同步国内专利
                new SyncPatentAbroadList {
                    SyncResultInfoSet = _syncResultInfoSet
                }.DataSync();                                                                  //同步国外专利
                new SyncPatentHKList {
                    SyncResultInfoSet = _syncResultInfoSet
                }.DataSync();                                                              //同步香港专利
                new SyncDemandList {
                    SyncResultInfoSet = _syncResultInfoSet
                }.DataSync();                                                            //同步要求
                new SyncInFileList {
                    SyncResultInfoSet = _syncResultInfoSet
                }.DataSync();                                                            //同步来文(官方、客户)
                new SyncAnnualFeeList {
                    SyncResultInfoSet = _syncResultInfoSet
                }.DataSync();                                                               //同步年费
                new SyncCustomFieldList {
                    SyncResultInfoSet = _syncResultInfoSet
                }.DataSync();                                                                 //同步自定义属性
                new SyncOAList {
                    SyncResultInfoSet = _syncResultInfoSet
                }.DataSync();                                                        //同步OA
                _syncResultInfoSet.AddInfo("同步完成!");
                Invoke(new Action(() =>
                {
                    CalcNewSyncDate(dtBegin);
                    GetSyncDate();
                    _syncResultInfoSet.SendEmailByCondition();
                    xsbSync.Enabled = true;
                    xbbiConnectionConfig.Enabled = true;
                    xbiCommonConfig.Enabled      = true;
                }));
            }).Start();
        }
Exemplo n.º 2
0
        public override RECEIVINGLOG GetExistDataPC(InFile dataIPSP)
        {
            if (dataIPSP.dt_ReceiveDate < new DateTime(1900, 1, 1))
            {
                SyncResultInfoSet.AddWarning(InfoString.ToSkipInfo("收文日", dataIPSP.n_FileID,
                                                                   dataIPSP.sMainCaseSerial + "----" + dataIPSP.s_Name));
                return(null);
            }
            if (string.IsNullOrWhiteSpace(dataIPSP.s_Name))
            {
                SyncResultInfoSet.AddWarning(InfoString.ToSkipInfo("文件名", dataIPSP.n_FileID, dataIPSP.sMainCaseSerial));
                return(null);
            }
            if (string.IsNullOrWhiteSpace(dataIPSP.sCaseName))
            {
                SyncResultInfoSet.AddWarning(InfoString.ToSkipInfo("案件", dataIPSP.n_FileID, dataIPSP.s_Name));
                return(null);
            }
            var sCondition  = $"RECEIVED = to_date('{dataIPSP.dt_ReceiveDate:yyyy/MM/dd}','yyyy/MM/dd') and OURNO = '{dataIPSP.sMainCaseSerial}' and COMMENTS like '%{dataIPSP.s_Name}%'";
            var existInFile = new PC.BLL.RECEIVINGLOG().GetModelList(sCondition);

            IsExistDataPC = existInFile.Count > 0;
            SyncResultInfoSet.AddInfo(InfoString.ToSyncInfo("来文", IsExistDataPC.Value, dataIPSP.n_FileID, dataIPSP.sMainCaseSerial + " " + dataIPSP.s_Name),
                                      dataIPSP.ClassInfo.TableName, typeof(RECEIVINGLOG).Name);
            return(existInFile.Count > 0 ? existInFile[0] : null);
        }
Exemplo n.º 3
0
        public override GENERALALERT GetExistDataPC(AnnualFee dataIPSP)
        {
            var sCondition = $"TYPEID = 'annualfee' and ITEMNUMBER = '{dataIPSP.n_YearNo}' and OURNO = '{dataIPSP.TheBasicPatent?.s_CaseSerial}'";
            var existAlert = new PC.BLL.GENERALALERT().GetModelList(sCondition);

            IsExistDataPC = existAlert.Count > 0;
            SyncResultInfoSet.AddInfo(InfoString.ToSyncInfo("年费", IsExistDataPC.Value, dataIPSP.n_AnnualFeeID, dataIPSP.TheBasicPatent?.s_CaseSerial + " 第" + dataIPSP.n_YearNo + "年"),
                                      dataIPSP.ClassInfo.TableName, typeof(GENERALALERT).Name);
            return(existAlert.Count > 0 ? existAlert[0] : null);
        }
Exemplo n.º 4
0
        public override CLIENTDB GetExistDataPC(Client dataIPSP)
        {
            if (string.IsNullOrWhiteSpace(dataIPSP.s_ClientCode))
            {
                SyncResultInfoSet.AddWarning($"{dataIPSP.n_ClientID}未填写客户代码,跳过导入。");
                IsExistDataPC = null;
                return(null);
            }
            var existClient = new PC.BLL.CLIENTDB().GetModel(dataIPSP.s_ClientCode);

            IsExistDataPC = existClient != null;
            SyncResultInfoSet.AddInfo(InfoString.ToSyncInfo("客户", IsExistDataPC.Value, dataIPSP.n_ClientID, dataIPSP.s_ClientCode),
                                      dataIPSP.ClassInfo.TableName, typeof(CLIENTDB).Name);
            return(existClient);
        }
Exemplo n.º 5
0
 public override List <SyncData <HongKongApplication, EX_HKCASE> > GetListSyncData()
 {
     SyncResultInfoSet?.AddInfo("筛选需同步的香港专利数据...");
     return
         (new XPQuery <HongKongApplication>(new UnitOfWork()).Where(
              c =>
              c.dt_CreateDate >= ConfigHelper.BeginDate && c.dt_CreateDate < ConfigHelper.NextDate ||
              c.dt_EditDate >= ConfigHelper.BeginDate && c.dt_EditDate < ConfigHelper.NextDate).Select(c => c.n_CaseID).ToList()
          .Select(i => new SyncPatentHKData(i)
     {
         SyncResultInfoSet = SyncResultInfoSet
     })
          .Cast <SyncData <HongKongApplication, EX_HKCASE> >()
          .ToList());
 }
Exemplo n.º 6
0
 public override List <SyncData <ExtendedPatent, FCASE> > GetListSyncData()
 {
     SyncResultInfoSet?.AddInfo("筛选需同步的国外专利数据...");
     return
         (new XPQuery <ExtendedPatent>(new UnitOfWork()).Where(
              c =>
              (c.dt_CreateDate >= ConfigHelper.BeginDate && c.dt_CreateDate < ConfigHelper.NextDate ||
               c.dt_EditDate >= ConfigHelper.BeginDate && c.dt_EditDate < ConfigHelper.NextDate) &&
              CommonFunction.GetAbroadPatentBusinessType().Contains(c.n_BusinessTypeID)).Select(c => c.n_CaseID).ToList()
          .Select(i => new SyncPatentAbroadData(i)
     {
         SyncResultInfoSet = SyncResultInfoSet
     }).Cast <SyncData <ExtendedPatent, FCASE> >()
          .ToList());
 }
Exemplo n.º 7
0
 public override List <SyncData <CustomField, CASEOTHERINFO> > GetListSyncData()
 {
     SyncResultInfoSet?.AddInfo("筛选需同步的自定义属性数据...");
     return
         (new XPQuery <BasicCase>(new UnitOfWork()).Where(
              c => c.dt_CreateDate >= ConfigHelper.BeginDate && c.dt_CreateDate < ConfigHelper.NextDate ||
              c.dt_EditDate >= ConfigHelper.BeginDate && c.dt_EditDate < ConfigHelper.NextDate).ToList()
          .SelectMany(c => c.CustomFields.Cast <CustomField>().Select(d => d.n_ID).ToList())
          .ToList()
          .Select(c => new SyncCustomFieldData(c)
     {
         SyncResultInfoSet = SyncResultInfoSet
     })
          .Cast <SyncData <CustomField, CASEOTHERINFO> >()
          .ToList());
 }
Exemplo n.º 8
0
 public override List <SyncData <Agency, CLIENTDB> > GetListSyncData()
 {
     SyncResultInfoSet?.AddInfo("筛选需同步的代理机构数据...");
     return(new XPQuery <Agency>(new UnitOfWork()).Where(
                c =>
                c.dt_CreateDate >= ConfigHelper.BeginDate && c.dt_CreateDate < ConfigHelper.NextDate ||
                c.dt_EditDate >= ConfigHelper.BeginDate && c.dt_EditDate < ConfigHelper.NextDate)
            .Select(c => c.n_AgencyID)
            .ToList()
            .Select(c => new SyncAgencyData(c)
     {
         SyncResultInfoSet = SyncResultInfoSet
     })
            .Cast <SyncData <Agency, CLIENTDB> >()
            .ToList());
 }
Exemplo n.º 9
0
        public override PATENTCASE GetExistDataPC(ExtendedPatent dataIPSP)
        {
            if (string.IsNullOrWhiteSpace(dataIPSP.s_CaseSerial))
            {
                SyncResultInfoSet.AddWarning($"{dataIPSP.n_CaseID}未填写我方卷号,跳过导入。");
                IsExistDataPC = null;
                return(null);
            }
            var existPatent = new PC.BLL.PATENTCASE().GetModel(dataIPSP.s_CaseSerial);

            IsExistDataPC = existPatent != null;
            SyncResultInfoSet.AddInfo(
                InfoString.ToSyncInfo("国内专利", IsExistDataPC.Value, dataIPSP.n_CaseID, dataIPSP.s_CaseSerial),
                dataIPSP.ClassInfo.TableName, typeof(PATENTCASE).Name);
            return(existPatent);
        }
Exemplo n.º 10
0
        public override GENERAL_INSTRUCTION GetExistDataPC(Demand dataIPSP)
        {
            var sCode      = GetCode(dataIPSP);
            var sCondition = $"CONTENT_CN =:p AND CLIENT_NO = '{sCode}'";
            var pid        = new PC.BLL.GENERAL_INSTRUCTION().GetSingle(sCondition, dataIPSP.s_Description ?? string.Empty);

            if (pid == null)
            {
                return(null);
            }
            IsExistDataPC = true;
            var instruction = new PC.BLL.GENERAL_INSTRUCTION().GetModel(pid.ToString());

            SyncResultInfoSet.AddInfo(InfoString.ToSyncInfo("要求", IsExistDataPC.Value, dataIPSP.n_ID, sCode + " " + dataIPSP.s_Description),
                                      dataIPSP.ClassInfo.TableName, typeof(GENERAL_INSTRUCTION).Name);
            return(instruction);
        }
Exemplo n.º 11
0
 public override List <SyncData <InFile, RECEIVINGLOG> > GetListSyncData()
 {
     SyncResultInfoSet?.AddInfo("筛选需同步的来文数据...");
     return
         (new XPQuery <InFile>(new UnitOfWork()).Where(
              c =>
              c.dt_CreateDate >= ConfigHelper.BeginDate && c.dt_CreateDate < ConfigHelper.NextDate ||
              c.dt_EditDate >= ConfigHelper.BeginDate && c.dt_EditDate < ConfigHelper.NextDate)
          .Select(c => c.n_FileID)
          .ToList()
          .Select(c => new SyncInFileData(c)
     {
         SyncResultInfoSet = SyncResultInfoSet
     })
          .Cast <SyncData <InFile, RECEIVINGLOG> >()
          .ToList());
 }
Exemplo n.º 12
0
 public override List <SyncData <AnnualFee, GENERALALERT> > GetListSyncData()
 {
     SyncResultInfoSet?.AddInfo("筛选需同步的年费数据...");
     return
         (new XPQuery <AnnualFee>(new UnitOfWork()).Where(
              c =>
              c.dt_CreateDate >= ConfigHelper.BeginDate && c.dt_CreateDate < ConfigHelper.NextDate ||
              c.dt_EditDate >= ConfigHelper.BeginDate && c.dt_EditDate < ConfigHelper.NextDate || c.dt_OfficialPayDate >= ConfigHelper.BeginDate && c.dt_OfficialPayDate < ConfigHelper.NextDate)
          .Select(c => c.n_AnnualFeeID)
          .ToList()
          .Select(c => new SyncAnnualFeeData(c)
     {
         SyncResultInfoSet = SyncResultInfoSet
     })
          .Cast <SyncData <AnnualFee, GENERALALERT> >()
          .ToList());
 }
Exemplo n.º 13
0
 public override List <SyncData <Demand, GENERAL_INSTRUCTION> > GetListSyncData()
 {
     SyncResultInfoSet?.AddInfo("筛选需同步的要求数据...");
     return
         (new XPQuery <Demand>(new UnitOfWork()).Where(
              c =>
              (c.dt_CreateDate >= ConfigHelper.BeginDate && c.dt_CreateDate < ConfigHelper.NextDate ||
               c.dt_EditDate >= ConfigHelper.BeginDate && c.dt_EditDate < ConfigHelper.NextDate) &&
              (c.TheClient != null || c.TheApplicant != null || c.TheAgency != null))
          .Select(c => c.n_ID)
          .ToList()
          .Select(c => new SyncDemandData(c)
     {
         SyncResultInfoSet = SyncResultInfoSet
     })
          .Cast <SyncData <Demand, GENERAL_INSTRUCTION> >()
          .ToList());
 }
Exemplo n.º 14
0
 public override List <SyncData <TFTaskChain, GENERALALERT> > GetListSyncData()
 {
     SyncResultInfoSet?.AddInfo("筛选需同步的OA数据...");
     return
         (new XPQuery <TFTask>(new UnitOfWork()).Where(
              c =>
              c.dt_CreateTime >= ConfigHelper.BeginDate && c.dt_CreateTime < ConfigHelper.NextDate ||
              c.dt_EditTime >= ConfigHelper.BeginDate && c.dt_EditTime < ConfigHelper.NextDate ||
              c.dt_FinishTime >= ConfigHelper.BeginDate && c.dt_FinishTime < ConfigHelper.NextDate).ToList()
          .Select(c => c.GetTheTaskChain().g_ID).Distinct()
          .ToList()
          .Select(c => new SyncOAData(c)
     {
         SyncResultInfoSet = SyncResultInfoSet
     })
          .Cast <SyncData <TFTaskChain, GENERALALERT> >()
          .ToList());
 }
Exemplo n.º 15
0
        public override CASEOTHERINFO GetExistDataPC(CustomField dataIPSP)
        {
            if (CommonFunction.GetIdTextFieldType(dataIPSP.sFieldName) == string.Empty)
            {
                SyncResultInfoSet.AddInfo(
                    InfoString.ToSkipInfo("自定义属性", dataIPSP.BasicCase?.s_CaseSerial, dataIPSP.sFieldName),
                    dataIPSP.ClassInfo.TableName, typeof(CASEOTHERINFO).Name);
                return(null);
            }
            var sCondition =
                $"CASENO = '{dataIPSP.BasicCase?.s_CaseSerial}' AND INFOTYPE = '{CommonFunction.GetIdTextFieldType(dataIPSP.sFieldName)}'";
            var existCaseOtherInfo = new PC.BLL.CASEOTHERINFO().GetModelList(sCondition);

            IsExistDataPC = existCaseOtherInfo.Count > 0;
            SyncResultInfoSet.AddInfo(
                InfoString.ToSyncInfo("自定义属性", IsExistDataPC.Value, dataIPSP.BasicCase?.s_CaseSerial,
                                      dataIPSP.sFieldName),
                dataIPSP.ClassInfo.TableName, typeof(CASEOTHERINFO).Name);
            return(existCaseOtherInfo.Count > 0 ? existCaseOtherInfo[0] : null);
        }
Exemplo n.º 16
0
        public override GENERALALERT GetExistDataPC(TFTaskChain dataIPSP)
        {
            var sOAType = GetOATypeByTaskChainCode(dataIPSP.GetTheCodeTaskChain().s_Code);

            if (string.IsNullOrWhiteSpace(sOAType) || !dataIPSP.dt_CreateTime.HasValue)
            {
                SyncResultInfoSet.AddInfo(
                    InfoString.ToSkipInfo("OA", dataIPSP.g_ID, dataIPSP.n_Num + " " + dataIPSP.s_Name),
                    dataIPSP.ClassInfo.TableName, typeof(GENERALALERT).Name);
                return(null);
            }
            var sCondition =
                $"OATYPE = '{GetOATypeByTaskChainCode(dataIPSP.GetTheCodeTaskChain().s_Code)}' and OURNO = '{dataIPSP.GetRelatedCase()?.s_CaseSerial}' and TRIGERDATE1 =TO_DATE('{dataIPSP.dt_CreateTime.Value:yyyy/MM/dd}','yyyy/mm/dd')";
            var existOA = new PC.BLL.GENERALALERT().GetModelList(sCondition);

            IsExistDataPC = existOA.Count > 0;
            SyncResultInfoSet.AddInfo(
                InfoString.ToSyncInfo("OA", IsExistDataPC.Value, dataIPSP.g_ID, dataIPSP.n_Num + " " + dataIPSP.s_Name),
                dataIPSP.ClassInfo.TableName, typeof(GENERALALERT).Name);
            return(existOA.Count > 0 ? existOA[0] : null);
        }