|
@@ -15,6 +15,7 @@ import thyyxxk.webserver.entity.ResultVo;
|
|
|
import thyyxxk.webserver.entity.casefrontsheet.*;
|
|
|
import thyyxxk.webserver.entity.dictionary.PureCodeName;
|
|
|
import thyyxxk.webserver.service.externalhttp.PowersiSrvc;
|
|
|
+import thyyxxk.webserver.service.redislike.RedisLikeService;
|
|
|
import thyyxxk.webserver.utils.*;
|
|
|
|
|
|
import java.lang.reflect.Field;
|
|
@@ -30,14 +31,16 @@ public class CaseFrontSheetService {
|
|
|
private final BasSelectOverviewDao basDao;
|
|
|
private final LoginDao userDao;
|
|
|
private final PowersiSrvc srvc;
|
|
|
+ private final RedisLikeService redis;
|
|
|
|
|
|
public CaseFrontSheetService(SheetCreatedDao createdDao, CaseFrontSheetDao dao,
|
|
|
- BasSelectOverviewDao basDao, LoginDao userDao, PowersiSrvc srvc) {
|
|
|
+ BasSelectOverviewDao basDao, LoginDao userDao, PowersiSrvc srvc, RedisLikeService redis) {
|
|
|
this.dao = dao;
|
|
|
this.createdDao = createdDao;
|
|
|
this.basDao = basDao;
|
|
|
this.userDao = userDao;
|
|
|
this.srvc = srvc;
|
|
|
+ this.redis = redis;
|
|
|
if (allDictionary == null) {
|
|
|
allDictionary = new ConcurrentHashMap<>();
|
|
|
}
|
|
@@ -627,4 +630,39 @@ public class CaseFrontSheetService {
|
|
|
return (int) days;
|
|
|
}
|
|
|
|
|
|
+ public ResultVo<List<DismissCount>> analyzeDismissCount(String month) {
|
|
|
+ String begntime = month + "-01 00:00:00.000";
|
|
|
+ String endtime = DateUtil.getMonthEndtime(month);
|
|
|
+ List<TempDismissCount> templist = dao.selectDismissCount(begntime, endtime);
|
|
|
+ Map<String, DismissCount> map = new HashMap<>();
|
|
|
+ for (TempDismissCount item : templist) {
|
|
|
+ if (map.containsKey(item.getDeptCode())) {
|
|
|
+ DismissCount count = map.get(item.getDeptCode());
|
|
|
+ count.setDismissCount(count.getDismissCount() + item.getDismissCount());
|
|
|
+ if (item.getFileStatus() == 1) {
|
|
|
+ count.setSignedCount(count.getSignedCount() + item.getDismissCount());
|
|
|
+ } else {
|
|
|
+ count.setUnsignCount(count.getUnsignCount() + item.getDismissCount());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ DismissCount dismissCount = new DismissCount();
|
|
|
+ dismissCount.setDeptName(redis.getDeptName(item.getDeptCode()));
|
|
|
+ dismissCount.setDismissCount(item.getDismissCount());
|
|
|
+ if (item.getFileStatus() == 1) {
|
|
|
+ dismissCount.setSignedCount(item.getDismissCount());
|
|
|
+ dismissCount.setUnsignCount(0);
|
|
|
+ } else {
|
|
|
+ dismissCount.setUnsignCount(item.getDismissCount());
|
|
|
+ dismissCount.setSignedCount(0);
|
|
|
+ }
|
|
|
+ map.put(item.getDeptCode(), dismissCount);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<DismissCount> list = new ArrayList<>();
|
|
|
+ for (Map.Entry<String, DismissCount> entry : map.entrySet()) {
|
|
|
+ list.add(entry.getValue());
|
|
|
+ }
|
|
|
+ return ResultVoUtil.success(list);
|
|
|
+ }
|
|
|
+
|
|
|
}
|