diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/rsp/InspectStatInfo.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/rsp/InspectStatInfo.java new file mode 100644 index 0000000000000000000000000000000000000000..20fdc42c5f493c4bd21ec2ef9417bb26ec314215 --- /dev/null +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/rsp/InspectStatInfo.java @@ -0,0 +1,21 @@ +package com.mortals.xhx.busiz.rsp; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class InspectStatInfo { + + /** + * 绱娆℃暟 + */ + private Integer totalTimes; + + + /** + * 浠婃棩娆℃暟 + */ + private Integer todayTimes; + +} diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/InspectApiController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/InspectApiController.java index 97b0b597e360baf6b90ae03679bb3cd7881a931e..eefdf57164152e3f7365cb6591385f49cb26422a 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/InspectApiController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/InspectApiController.java @@ -9,10 +9,14 @@ import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.Result; import com.mortals.xhx.busiz.req.*; import com.mortals.xhx.busiz.rsp.AppealStatInfo; +import com.mortals.xhx.busiz.rsp.InspectStatInfo; +import com.mortals.xhx.busiz.rsp.PerformInfo; +import com.mortals.xhx.busiz.rsp.PerformStatInfo; import com.mortals.xhx.common.code.PerformTypeEnum; import com.mortals.xhx.common.code.ProcessStatusEnum; import com.mortals.xhx.common.utils.BeanUtil; import com.mortals.xhx.module.check.model.*; +import com.mortals.xhx.module.check.model.vo.CheckAllRecordVo; import com.mortals.xhx.module.check.service.*; import com.mortals.xhx.module.perform.model.*; import com.mortals.xhx.module.perform.service.*; @@ -31,7 +35,9 @@ import org.springframework.web.bind.annotation.RestController; import java.math.BigDecimal; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import static com.mortals.framework.ap.SysConstains.*; import static com.mortals.xhx.common.key.ErrorCode.ERROR_TOKEN_EXPIRED; @@ -48,9 +54,6 @@ import static com.mortals.xhx.common.key.ErrorCode.ERROR_TOKEN_EXPIRED_CONTENT; @RequestMapping("/api/v1/inspect") public class InspectApiController extends AbstractBaseController<PerformReq> { - - - @Autowired private PerformAttendRecordService attendRecordService; @Autowired @@ -68,6 +71,98 @@ public class InspectApiController extends AbstractBaseController<PerformReq> { @Autowired private StaffService staffService; + @Autowired + private CheckAllRecordService checkAllRecordService; + + + + /** + * 涓汉宸℃煡鏁堢粺璁� + */ + @PostMapping(value = "stat") + public Rest<InspectStatInfo> inspectStat() { + String busiDesc = "H5 涓汉宸℃煡缁熻"; + Rest<InspectStatInfo> rest = Rest.ok(busiDesc + " 銆愭垚鍔熴€�"); + Context context = this.getContext(); + + if (ObjectUtils.isEmpty(context) || ObjectUtils.isEmpty(context.getUser())) { + throw new AppException(ERROR_TOKEN_EXPIRED, ERROR_TOKEN_EXPIRED_CONTENT); + } + log.info("銆恵}銆戙€愯姹備綋銆�--> 鐢ㄦ埛:{}", busiDesc, context.getUser().getRealName()); + try { + //todo + InspectStatInfo performStatInfo = new InspectStatInfo(); + performStatInfo.setTotalTimes(12); + performStatInfo.setTodayTimes(4); + rest.setData(performStatInfo); + recordSysLog(request, busiDesc + " 銆愭垚鍔熴€�"); + } catch (Exception e) { + log.error(busiDesc, e); + rest = Rest.fail(super.convertException(e)); + } + return rest; + } + + + /** + * 涓汉宸℃煡鍒楄〃 + */ + @PostMapping(value = "list") + public Rest<Object> performList(@RequestBody PerformReq performReq) { + String busiDesc = "涓汉宸℃煡鍒楄〃"; + log.info("銆恵}銆戙€愯姹備綋銆�--> {}", busiDesc, JSONObject.toJSONString(performReq)); + Rest<Object> rest = Rest.ok(); + Map<String, Object> model = new HashMap<>(); + Context context = this.getContext(); + + if (ObjectUtils.isEmpty(context) || ObjectUtils.isEmpty(context.getUser())) { + throw new AppException(ERROR_TOKEN_EXPIRED, ERROR_TOKEN_EXPIRED_CONTENT); + } + try { + if (ObjectUtils.isEmpty(performReq.getPerformStartDate())) { + //鏈缃椂闂寸殑鎯呭喌锛岄粯璁や负褰撴湀 + performReq.setPerformStartDate(DateUtil.beginOfMonth(new Date()).toDateStr()); + performReq.setPerformEndDate(DateUtil.today()); + } else { + performReq.setPerformStartDate(DateUtil.beginOfMonth(DateUtil.parse(performReq.getPerformStartDate()).toJdkDate()).toDateStr()); + performReq.setPerformEndDate(DateUtil.endOfMonth(DateUtil.parse(performReq.getPerformStartDate()).toJdkDate()).toDateStr()); + } + if (PerformTypeEnum.鍏ㄩ儴.getValue().equals(performReq.getPerformType())) { + CheckAllRecordQuery query = new CheckAllRecordQuery(); + query.setCheckTimeStart(performReq.getPerformStartDate()); + query.setCheckTimeEnd(performReq.getPerformEndDate()); + query.setCreateUserId(context.getUser().getId()); + + List<CheckAllRecordVo> allCheckRecord = checkAllRecordService.getAllCheckRecord(query); + List<PerformInfo> collect = allCheckRecord.stream().map(item -> { + PerformInfo performInfo = new PerformInfo(); + BeanUtils.copyProperties(item, performInfo, BeanUtil.getNullPropertyNames(item)); + return performInfo; + }).collect(Collectors.toList()); + model.put(KEY_RESULT_DATA, collect); + PageInfo pageAllInfo = new PageInfo(); + pageAllInfo.setTotalResult(collect.size()); + pageAllInfo.setCurrPage(1); + pageAllInfo.setPrePageResult(-1); + model.put(PAGEINFO_KEY, pageAllInfo); + parsePageInfo(model, pageAllInfo); + + } + + +// model.put(KEY_RESULT_DATA, result.getList()); +// model.put(PAGEINFO_KEY, result.getPageInfo()); +// parsePageInfo(model, result.getPageInfo()); + + rest.setData(model); + recordSysLog(request, busiDesc + " 銆愭垚鍔熴€�"); + } catch (Exception e) { + log.error(busiDesc, e); + rest = Rest.fail(super.convertException(e)); + } + return rest; + } + /** * 宸℃煡鏂板 @@ -290,7 +385,6 @@ public class InspectApiController extends AbstractBaseController<PerformReq> { } - protected void parsePageInfo(Map<String, Object> model, PageInfo pageInfo) { model.put(TOTAL, pageInfo.getTotalResult()); model.put(PER_PAGE, pageInfo.getPrePageResult());