• 思维逻辑程序



      /**
         * 根据发行日判断是否超过提交期限
         * @param releaseDate
         *         发行日(不能为空)
         */
        fun isPassDeadline(iwebReq: IwebReq, releaseDate: String  ): Boolean {
            if (releaseDate == null){
                AssertUtils.isTrue(false,"发行日不能为空!")
            }
            // true:期限验证通过,false:期限验证不通过
            var releaseDateCheck = false
            // 定义发行到期日  发行日+1个月
            var checkDate = this.subMonth(releaseDate)
            //定义工作日
            var workDateCount = 0
            //循环15次,总会有3次是工作日
            for (i in 1..15 step 1) {
                if (workDateCount == 3){
                    break
                }
                //判断"checkDate"的日期是否在配置的法定日期配置表中:
                var isExist=this.intDal<BizAbsProfitInfoServiceDal>().isPassDeadline(iwebReq = iwebReq, releaseDate =releaseDate)
                //查询结果为空
                if (isExist == null ){
                    var format1 =  SimpleDateFormat("yyyy-MM-dd")
                    var bdate = format1.parse("checkDate")
                    var cal = Calendar.getInstance()
                    cal.setTime(bdate);
                    // 判断是否是周六或周日
                    if(cal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && cal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY){
                        // 说明是工作日
                        workDateCount++
                    }
                    //加一天
                    checkDate += 1
    
                }else{
                   if("w".equals(isExist)){
                      //是工作日
                       workDateCount++
                   }
                    //加一天
                    checkDate += 1
                }
            }
            //string 转data
            var sdf =  SimpleDateFormat("yyyy-MM-dd");
           if (Date() > sdf.parse(this.subDay(checkDate))){
               //说明超过时限
               releaseDateCheck = false
           }
           return releaseDateCheck
        }
    
        /****
         * 传入具体日期 ,返回具体日期增加一个月。
         * @param date 日期(2017-04-13)
         * @return 2017-05-13
         */
        fun   subMonth(date:String ) :String{
            var sdf =  SimpleDateFormat("yyyy-MM-dd");
            var dt = sdf.parse(date)
            var rightNow = Calendar.getInstance()
            rightNow.setTime(dt)
            rightNow.add(Calendar.MONTH, 1)
            var dt1 = rightNow.getTime()
            var reStr = sdf.format(dt1)
            return reStr
        }
    
    
        /****
         * 传入具体日期 ,返回具体日期减少一天
         * @param date 日期(2017-04-13)
         * @return 2017-04-12
         * @throws ParseException
         */
        fun   subDay(date:String ):String  {
            var sdf =  SimpleDateFormat("yyyy-MM-dd");
            var dt = sdf.parse(date);
            var rightNow = Calendar.getInstance();
            rightNow.setTime(dt);
            rightNow.add(Calendar.DAY_OF_MONTH, -1);
            var dt1 = rightNow.getTime();
            var reStr = sdf.format(dt1);
            return reStr;
        }
    API编号                    API_R_F_008_04                                                                                                    Action                    /api/finance/biz/abs/profit/releasedate/check                                                                                                                                                                    method                    GET                    
    说明                    根据发行日判断是否超过提交期限                                                                                                                                                                                                                                                                                                                                    
                            {                                                                                                                                                                                                                                                                                                                                
    入参                                releaseDate                                                                        // 发行日                                                            不允许为空                                                                                                                                                                                    
                            }                                                                                                                                                                                                                                                                                                                                
                            {                                                                                                                                                                                                                                                                                                                                
    出参                              "errcode": "0",                                                                                                                                                                                                                                                                                                                             
                                  "errmsg": "",                                                                                                                                                                                                                                                                                                                            
                                  "releaseDateCheck": ""                                                                            // true:期限验证通过,false:期限验证不通过                                                                                                                                                                                                                                                
                                }                                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                            
                                ◆        入参.发行日是否为空?                                                                                                                                                                                                                                                                                                                    
                                                    是        ->            返回错误代码                                                                                                                                                                                                                                                                                    
                                                                                                                                                                                                                                                                                                                                                            
                                定义  releaseDateCheck = true;                                                                                                                                                                                                                                                                                                                             
                                                                                                                                                                                                                                                                                                                                                            
                                定义 checkDate = "入参.发行日+1个月"                                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                            
                                定义 workDateCount = 0;   //工作日                                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                            
                                for(i=1 ;i<=15; i++){                                                                                                                                                                                                                                                                                                                            
                                        if(workDateCount == 3 ){                                                                                                                                                                                                                                                                                                                    
                                                break;                                                                                                                                                                                                                                                                                                            
                                        }                                                                                                                                                                                                                                                                                                                    
                                        判断"checkDate"的日期是否在配置的法定日期配置表中:                                                                                                                                                                                                                                                                                                                    
                                        参考SQL:                                                                                                                                                                                                                                                                                                                    
                                                    SELECT a.date_type FROM biz_legal_date_configure a WHERE a.legal_date = "checkDate" AND a.sys_status =1                                                                                                                                                                                                                                                                                                        
                                        ◆ 判断查询结果是否为空                                                                                                                                                                                                                                                                                                                    
                                            为空 ->                                                                                                                                                                                                                                                                                                                
                                                    DateFormat format1 = new SimpleDateFormat("yyyy/MM/dd");                                                                                                                                                                                                                                                                                                        
                                                    Date bdate = format1.parse("checkDate");                                                                                                                                                                                                                                                                                                        
    功能                                                Calendar cal = Calendar.getInstance();                                                                                                                                                                                                                                                                                                        
    逻辑                                                cal.setTime(bdate);                                                                                                                                                                                                                                                                                                        
                                                    // 判断是否是周六或周日                                                                                                                                                                                                                                                                                                        
                                                    if(cal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY && cal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY){                                                                                                                                                                                                                                                                                                        
                                                                // 说明是工作日                                                                                                                                                                                                                                                                                            
                                                                workDateCount++;                                                                                                                                                                                                                                                                                            
                                                    }                                                                                                                                                                                                                                                                                                        
                                                    checkDate = checkDate + 1天;                                                                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                                                                                                                            
                                            不为空 ->                                                                                                                                                                                                                                                                                                                
                                                    if("W".equals(record.getStr("dateType"))){                                                                                                                                                                                                                                                                                                        
                                                                // 是工作日                                                                                                                                                                                                                                                                                            
                                                                workDateCount++;                                                                                                                                                                                                                                                                                            
                                                    }                                                                                                                                                                                                                                                                                                        
                                                    checkDate = checkDate + 1天;                                                                                                                                                                                                                                                                                                        
                                }                                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                            
                                if( new date() > (checkDate -1天)) {                                                                                                                                                                                                                                                                                                                            
                                        // 说明超过时限                                                                                                                                                                                                                                                                                                                    
                                        releaseDateCheck = false;                                                                                                                                                                                                                                                                                                                    
                                }                                                                                                                                                                                                                                                                                                                            
                                ◆ 返回 releaseDateCheck                                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                            
    
    

     

    
    
  • 相关阅读:
    IOS开发之WIFI及IP相关
    Git使用教程
    git push到GitHub的时候遇到! [rejected] master -> master (non-fast-forward)的问题 【转载】
    Linux高并发web服务器开发 【转载】
    Linux下open函数、read函数、write函数 【转载】
    Linux epoll 详解 【转载】
    Linux Socket 编程简介 【转载】
    信号量sem_init,sem_wait,sem_post
    linux线程之pthread_join和pthread_detach 【转载】
    C++ static类成员,static类成员函数 【转载】
  • 原文地址:https://www.cnblogs.com/xiaoniuniu886/p/9987670.html
Copyright © 2020-2023  润新知