|  | @@ -128,6 +128,7 @@ public class GenerateYzService {
 | 
	
		
			
				|  |  |          if (CollUtil.isEmpty(yzActOrderList)) {
 | 
	
		
			
				|  |  |              return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "没有可以生成的医嘱");
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        CommonUtil.BeanTrim(yzActOrderList);
 | 
	
		
			
				|  |  |          //频率
 | 
	
		
			
				|  |  |          List<YzOrderFrequency> yzOrderFrequencyList = dao.selectYzOrderFrequency();
 | 
	
		
			
				|  |  |          CommonUtil.BeanTrim(yzOrderFrequencyList);
 | 
	
	
		
			
				|  | @@ -200,10 +201,12 @@ public class GenerateYzService {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //修改状态
 | 
	
		
			
				|  |  | -        if(CollUtil.isNotEmpty(param.getUpdateStatusYzActOrders())){
 | 
	
		
			
				|  |  | -           for(YzActOrder yzActOrder : param.getUpdateStatusYzActOrders()){
 | 
	
		
			
				|  |  | -               dao.updateYzActOrderStatusFlag(yzActOrder);
 | 
	
		
			
				|  |  | -           }
 | 
	
		
			
				|  |  | +        if(CollUtil.isNotEmpty(param.getUpdateStatusYzActOrders())) {
 | 
	
		
			
				|  |  | +            for (BigDecimal key : param.getUpdateStatusYzActOrders().keySet()) {
 | 
	
		
			
				|  |  | +                YzActOrder tempYzActOrder = param.getUpdateStatusYzActOrders().get(key);
 | 
	
		
			
				|  |  | +                log.info("修改状态医嘱 医嘱号={},状态={}", tempYzActOrder.getActOrderNo(), tempYzActOrder.getStatusFlag());
 | 
	
		
			
				|  |  | +                dao.updateYzActOrderStatusFlag(tempYzActOrder);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |             if(CollUtil.isNotEmpty(param.getYzActOccs())){
 | 
	
		
			
				|  |  |                 Set<BigDecimal> collect = param.getYzActOccs().stream().map(obj -> obj.getActOrderNo().abs()).collect(Collectors.toSet());
 | 
	
		
			
				|  |  |                 String yzActNos = CollUtil.join(collect, ",");
 | 
	
	
		
			
				|  | @@ -343,14 +346,14 @@ public class GenerateYzService {
 | 
	
		
			
				|  |  |                  if(item.getEndTime() != null && DateUtil.parseDateTime(DateUtil.formatDateTime(item.getEndTime())).getTime() <= addDateTime(DateUtil.formatDate(ldCurDay),itStartTime,true).getTime()){
 | 
	
		
			
				|  |  |                      item.setStatusFlag("5");
 | 
	
		
			
				|  |  |                      item.setStatusTime(item.getEndTime());
 | 
	
		
			
				|  |  | -                    param.getUpdateStatusYzActOrders().add(item);
 | 
	
		
			
				|  |  | +                    param.getUpdateStatusYzActOrders().put(item.getActOrderNo(),item);
 | 
	
		
			
				|  |  |                      continue;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  else{
 | 
	
		
			
				|  |  |                      if(item.getPerformanceTime()!= null && item.getEndTime()!=null && (DateUtil.parseDateTime(DateUtil.formatDateTime(item.getEndTime())).getTime() < addDateTime(DateUtil.formatDate(item.getPerformanceTime()),itStartTime,true).getTime())){
 | 
	
		
			
				|  |  |                          item.setStatusFlag("5");
 | 
	
		
			
				|  |  |                          item.setStatusTime(item.getEndTime());
 | 
	
		
			
				|  |  | -                        param.getUpdateStatusYzActOrders().add(item);
 | 
	
		
			
				|  |  | +                        param.getUpdateStatusYzActOrders().put(item.getActOrderNo(),item);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |                  if(item.getPerformanceTime()!= null && betweenDay(ldCurDay,item.getPerformanceTime(),true,false) >= 0){
 | 
	
	
		
			
				|  | @@ -422,12 +425,16 @@ public class GenerateYzService {
 | 
	
		
			
				|  |  |                      //执行频率为ALWAYS,IRREG,取执行时间为24小时的开始时间;
 | 
	
		
			
				|  |  |                      //这样的医嘱只产生一条执行;
 | 
	
		
			
				|  |  |                      Date occTimeTemp;
 | 
	
		
			
				|  |  | -                    if(DateUtil.between(now,addDateTime(DateUtil.formatDate(now), itStartTime, true), DateUnit.SECOND,false) > 0){
 | 
	
		
			
				|  |  | +                    if(FREQ_CODE_ONCE.equals(item.getFrequCode())){
 | 
	
		
			
				|  |  | +                        occTimeTemp = now;
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                   else if(DateUtil.between(now,addDateTime(DateUtil.formatDate(now), itStartTime, true), DateUnit.SECOND,false) > 0){
 | 
	
		
			
				|  |  |                          occTimeTemp = addDateTime(LdCurDayNextStr, itStartTime, true);
 | 
	
		
			
				|  |  | -                    }else {
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    else {
 | 
	
		
			
				|  |  |                          occTimeTemp = addDateTime(ldCurDayStr, itStartTime, true);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | -                    if(DateUtil.between(item.getStartTime(),occTimeTemp,DateUnit.SECOND,false) < 0 ){
 | 
	
		
			
				|  |  | +                    if( DateUtil.between(item.getStartTime(), occTimeTemp, DateUnit.SECOND, false)< 0 ){
 | 
	
		
			
				|  |  |                          continue;
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      if(item.getEndTime() == null || occTimeTemp.getTime() <= parseDateTimeDay(item.getEndTime()).getTime()){
 | 
	
	
		
			
				|  | @@ -447,22 +454,22 @@ public class GenerateYzService {
 | 
	
		
			
				|  |  |          if(NumberEnum.TWO.getCode().equals(item.getStatusFlag())){
 | 
	
		
			
				|  |  |              item.setStatusFlag(NumberEnum.ThREE.getCode());
 | 
	
		
			
				|  |  |              item.setStatusTime(DateUtil.parseDateTime(ldCurrent));
 | 
	
		
			
				|  |  | -            param.getUpdateStatusYzActOrders().add(item);
 | 
	
		
			
				|  |  | +            param.getUpdateStatusYzActOrders().put(item.getActOrderNo(),item);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          else if(NumberEnum.ThREE.getCode().equals(item.getStatusFlag())){
 | 
	
		
			
				|  |  |              item.setStatusFlag(NumberEnum.FOUR.getCode());
 | 
	
		
			
				|  |  |              item.setStatusTime(DateUtil.parseDateTime(ldCurrent));
 | 
	
		
			
				|  |  | -            param.getUpdateStatusYzActOrders().add(item);
 | 
	
		
			
				|  |  | +            param.getUpdateStatusYzActOrders().put(item.getActOrderNo(),item);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          else if(NumberEnum.FOUR.getCode().equals(item.getStatusFlag())){
 | 
	
		
			
				|  |  |              item.setStatusTime(DateUtil.parseDateTime(ldCurrent));
 | 
	
		
			
				|  |  | -            param.getUpdateStatusYzActOrders().add(item);
 | 
	
		
			
				|  |  | +            param.getUpdateStatusYzActOrders().put(item.getActOrderNo(),item);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          if(FREQ_CODE_ONCE.equals(item.getFrequCode())){
 | 
	
		
			
				|  |  |              item.setStatusFlag(NumberEnum.FIVE.getCode());
 | 
	
		
			
				|  |  |              item.setStatusTime(DateUtil.parseDateTime(ldCurrent));
 | 
	
		
			
				|  |  |              item.setEndTime(item.getStartTime());
 | 
	
		
			
				|  |  | -            param.getUpdateStatusYzActOrders().add(item);
 | 
	
		
			
				|  |  | +            param.getUpdateStatusYzActOrders().put(item.getActOrderNo(),item);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |