Prechádzať zdrojové kódy

[修复]添加外部接口获取单位

xuxiaodong 7 mesiacov pred
rodič
commit
d7de5aafb5

+ 11 - 0
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/controller/api/ApiController.java

@@ -123,6 +123,17 @@ public class ApiController extends BaseController {
         return new TableInfo(enforceObjs);
     }
 
+
+    /**
+     * 以名称查询单位
+     */
+    @PostMapping("/enforces")
+    public TableInfo<List<EnforceObj>> pageEnForceObjs(@RequestParam String enforceObjName) {
+        startPage();
+        List<EnforceObj> enforceObjs = apiService.pageEnForceObjs(enforceObjName);
+        return new TableInfo(enforceObjs);
+    }
+
     @GetMapping("generateJob")
     public void ina(Long taskId) {
         taskGenerateService.generateEnforceJob(taskId);

+ 2 - 0
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/api/ApiService.java

@@ -9,4 +9,6 @@ import java.util.Map;
 
 public interface ApiService {
     List<EnforceObj> getEnforceObjs(EnforceObjSearch enforceObjDTO);
+
+    List<EnforceObj> pageEnForceObjs(String enforceObjName);
 }

+ 6 - 0
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/impl/api/ApiServiceImpl.java

@@ -1,5 +1,6 @@
 package com.zfjg.manage.service.impl.api;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.zfjg.manage.api.domain.enforce.obj.EnforceObj;
 import com.zfjg.manage.api.dto.enforce.obj.EnforceObjDTO;
 import com.zfjg.manage.api.search.enforce.obj.EnforceObjSearch;
@@ -25,4 +26,9 @@ public class ApiServiceImpl implements ApiService {
         List<EnforceObj> enforceObjs = enforceObjMapper.getEnforceObjs(enforceObjDTO);
         return enforceObjs;
     }
+
+    @Override
+    public List<EnforceObj> pageEnForceObjs(String enforceObjName) {
+        return enforceObjMapper.selectList(new LambdaQueryWrapper<EnforceObj>().like(EnforceObj::getEnforceObjName, enforceObjName));
+    }
 }

+ 35 - 4
zfjg-modules/zfjg-manage/src/main/java/com/zfjg/manage/service/impl/other/IHolidayCacheServiceImpl.java

@@ -2,8 +2,10 @@ package com.zfjg.manage.service.impl.other;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.zfjg.common.core.exception.ServiceException;
 import com.zfjg.common.core.interfaces.IHolidayCacheService;
 import com.zfjg.common.core.utils.DateUtils;
+import com.zfjg.common.core.utils.SpringUtils;
 import com.zfjg.common.redis.service.RedisService;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
@@ -11,9 +13,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.rmi.ServerException;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author xxd
@@ -47,10 +47,13 @@ public class IHolidayCacheServiceImpl implements IHolidayCacheService {
                 cacheObject.put(dayDate, false);
             }
         }
+        HashMap<String, Object> lastTwoYears = this.getLastTwoYears();
+        cacheObject.putAll(lastTwoYears);
         redisService.setCacheMap(CACHE_KEY, cacheObject);
 
     }
 
+
     @SneakyThrows
     @Override
     public Boolean getHoliday(Date currentDay) {
@@ -62,6 +65,34 @@ public class IHolidayCacheServiceImpl implements IHolidayCacheService {
         if (cacheMap.containsKey(dateFormat)) {
             return (Boolean) cacheMap.get(dateFormat);
         }
-        throw new ServerException("获取节假日数据异常");
+        throw new ServerException("获取节假日数据异常: " + dateFormat);
+    }
+
+    /**
+     * 获取后两年的日期
+     */
+    private HashMap<String, Object> getLastTwoYears() {
+        HashMap<String, Object> objectHashMap = new HashMap<>();
+        Calendar instance = Calendar.getInstance();
+        Date time = instance.getTime();
+        String dateFormat = DateUtils.getDateFormat(time, "yyyy");
+        if (dateFormat == null) {
+            throw new ServiceException("获取当年yyyy出错" + time);
+        }
+        Integer i = Integer.parseInt(dateFormat);
+        String s1 = i + "-12-31 00:00:00";
+        Date date = DateUtils.transStrToDate(s1);
+        instance.setTime(date);
+        for (int j = 0; j < 750; j++) {
+            instance.add(Calendar.DAY_OF_MONTH, 1);
+            int i1 = instance.get(Calendar.DAY_OF_WEEK);
+            String dateFormatMap = DateUtils.getDateFormat(instance.getTime(), "yyyy-MM-dd");
+            if (i1 == Calendar.SATURDAY || i1 == Calendar.SUNDAY) {
+                objectHashMap.put(dateFormatMap, true);
+            } else {
+                objectHashMap.put(dateFormatMap, false);
+            }
+        }
+        return objectHashMap;
     }
 }

+ 1 - 0
zfjg-modules/zfjg-manage/src/test/java/com/zfjg/manage/ObjSyncHospitalTest.java

@@ -86,6 +86,7 @@ public class ObjSyncHospitalTest {
                 String workDays = DateUtils.getWorkDays(date, 3, holidayCacheService);
                 date = format.parse(workDays);
             } catch (Exception exception) {
+                exception.printStackTrace();
                 log.error("获取3个工作日后的日期失败", exception);
                 throw new ServiceException("获取3个工作日后的日期失败");
             }