diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/req/InspectSaveReq.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/req/InspectSaveReq.java new file mode 100644 index 0000000000000000000000000000000000000000..1dc1e3bdc790f57875a1dd6fab0acc67ecc8743a --- /dev/null +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/req/InspectSaveReq.java @@ -0,0 +1,49 @@ +package com.mortals.xhx.busiz.req; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mortals.xhx.busiz.BaseReq; +import lombok.Data; + +import java.util.Date; + + +@Data +public class InspectSaveReq extends BaseReq { + /** + * 鎵€灞炶€冨嫟缁処D + */ + private Long attendanceGroupId; + /** + * 鎵€灞炶€冨嫟缁勫悕绉� + */ + private String attendanceGroupName; + /** + * 鑰冨嫟鏃堕棿 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date attendanceDate; + + /** + * 寮傚父鏃堕棿 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date errorTime; + /** + * 涓婁笅鐝椂闂� + */ + private String goOffTimeStr; + /** + * 瀹為檯鎵撳崱鏃堕棿 + */ + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss") + private Date actualAttendTime; + /** + * 寮傚父澶勭悊缁撴灉 + */ + private String errorResult; + + + + + +} diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/ApiWebPerformController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/ApiWebPerformController.java index 0a58140307f7b110183ab9cc3d5005359dd7e49a..c59ed755a22305f3bec996f6c75bf90d9373029a 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/ApiWebPerformController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/ApiWebPerformController.java @@ -31,7 +31,7 @@ import java.util.Date; @RestController @Slf4j @RequestMapping("/api/v1/web/") -public class ApiWebPerformController extends AbstractBaseController<PerformReq> { +public class ApiWebPerformController extends AbstractBaseController<PerformReq> { @Autowired private PerformAttendRecordService attendRecordService; 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 new file mode 100644 index 0000000000000000000000000000000000000000..b5c3155e18713c0a566cc46024baef967c2560bb --- /dev/null +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/InspectApiController.java @@ -0,0 +1,188 @@ +package com.mortals.xhx.busiz.web; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.mortals.framework.common.Rest; +import com.mortals.framework.exception.AppException; +import com.mortals.framework.model.Context; +import com.mortals.framework.model.PageInfo; +import com.mortals.framework.model.Result; +import com.mortals.xhx.busiz.req.AppealReq; +import com.mortals.xhx.busiz.req.PerformReq; +import com.mortals.xhx.busiz.rsp.AppealStatInfo; +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.service.*; +import com.mortals.xhx.module.perform.model.PerformAttendAppealEntity; +import com.mortals.xhx.module.perform.model.PerformAttendAppealQuery; +import com.mortals.xhx.module.perform.service.PerformAttendAppealService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.ObjectUtils; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import static com.mortals.framework.ap.SysConstains.*; +import static com.mortals.xhx.common.key.ErrorCode.ERROR_TOKEN_EXPIRED; +import static com.mortals.xhx.common.key.ErrorCode.ERROR_TOKEN_EXPIRED_CONTENT; + +/** + * h5 宸℃煡 + * + * @author: zxfei + * @date: 2023/7/7 15:08 + */ +@RestController +@Slf4j +@RequestMapping("/api/v1/inspect") +public class InspectApiController extends AbstractBaseController<PerformReq> { + + @Autowired + private CheckAttendRecordService checkAttendRecordService; + @Autowired + private CheckReviewRecordService checkReviewRecordService; + @Autowired + private CheckComplainRecordService checkComplainRecordService; + @Autowired + private CheckEffectRecordService checkEffectRecordService; + @Autowired + private CheckGoworkRecordService checkGoworkRecordService; + @Autowired + private CheckOtherRecordService checkOtherRecordService; + + + @Autowired + private PerformAttendAppealService appealService; + + + /** + * 涓汉鐢宠瘔缁╂晥缁熻 + */ + @PostMapping(value = "stat") + public Rest<AppealStatInfo> appealStat() { + String busiDesc = "H5涓汉鐢宠瘔缁╂晥缁熻"; + Rest<AppealStatInfo> 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 鏌ヨ褰撳墠鐧诲綍浜虹殑缁╂晥鍒嗘暟 + AppealStatInfo appealStatInfo = new AppealStatInfo(); + appealStatInfo.setTotalScore(new BigDecimal("10.52")); + appealStatInfo.setTotalTimes(12); + appealStatInfo.setTodayScore(new BigDecimal("2.5")); + appealStatInfo.setTodayTimes(3); + rest.setData(appealStatInfo); + recordSysLog(request, busiDesc + " 銆愭垚鍔熴€�"); + } catch (Exception e) { + log.error(busiDesc, e); + rest = Rest.fail(super.convertException(e)); + } + return rest; + } + + + /** + * 宸℃煡鏂板 + */ + @PostMapping(value = "save") + public Rest<PerformAttendAppealEntity> appealSave(@RequestBody AppealReq req) { + String busiDesc = "涓汉鐢宠瘔鏂板"; + log.info("銆恵}銆戙€愯姹備綋銆�--> {}", busiDesc, JSONObject.toJSONString(req)); + Rest<PerformAttendAppealEntity> rest = Rest.ok(busiDesc + " 銆愭垚鍔熴€�"); + Context context = this.getContext(); + try { + //鏍规嵁鐘舵€� 鏌ヨ 褰撳墠鏄惁宸茬粡瀛樺湪姝e湪杩涜鐨勭敵璇� + if (ObjectUtils.isEmpty(req.getId())) throw new AppException("鏍告煡璁板綍Id涓嶈兘涓虹┖锛�"); + if (ObjectUtils.isEmpty(req.getPerformType())) throw new AppException("缁╂晥绫诲瀷涓嶈兘涓虹┖锛�"); + //鏌ヨ褰撳墠鏍告煡鏄惁宸插瓨鍦ㄨ繘琛屼腑鐨勭敵璇夎褰� + PerformAttendAppealEntity appealEntity = appealService.selectOne(new PerformAttendAppealQuery().checkRecordId(req.getId())); + if (!ObjectUtils.isEmpty(appealEntity) && appealEntity.getProcessStatus() == ProcessStatusEnum.鏈鐞�.getValue()) { + throw new AppException("褰撳墠缁╂晥鏍告煡宸茬粡瀛樺湪姝e湪杩涜涓殑鐢宠瘔璁板綍锛�"); + } + PerformAttendAppealEntity entity = new PerformAttendAppealEntity(); + entity.initAttrValue(); + + if (PerformTypeEnum.鑰冨嫟缁╂晥.getValue().equals(req.getPerformType())) { + CheckAttendRecordEntity checkEntity = checkAttendRecordService.get(req.getId(), context); + BeanUtils.copyProperties(checkEntity, entity, BeanUtil.getNullPropertyNames(checkEntity)); + + } else if (PerformTypeEnum.璇勪环宸瘎缁╂晥.getValue().equals(req.getPerformType())) { + CheckReviewRecordEntity checkEntity = checkReviewRecordService.get(req.getId(), context); + BeanUtils.copyProperties(checkEntity, entity, BeanUtil.getNullPropertyNames(checkEntity)); + + } else if (PerformTypeEnum.璇勪环鎶曡瘔缁╂晥.getValue().equals(req.getPerformType())) { + CheckComplainRecordEntity checkEntity = checkComplainRecordService.get(req.getId(), context); + BeanUtils.copyProperties(checkEntity, entity, BeanUtil.getNullPropertyNames(checkEntity)); + + } else if (PerformTypeEnum.鍔炰欢缁╂晥.getValue().equals(req.getPerformType())) { + CheckGoworkRecordEntity checkEntity = checkGoworkRecordService.get(req.getId(), context); + BeanUtils.copyProperties(checkEntity, entity, BeanUtil.getNullPropertyNames(checkEntity)); + + } else if (PerformTypeEnum.鏁堣兘缁╂晥.getValue().equals(req.getPerformType())) { + CheckEffectRecordEntity checkEntity = checkEffectRecordService.get(req.getId(), context); + BeanUtils.copyProperties(checkEntity, entity, BeanUtil.getNullPropertyNames(checkEntity)); + + } else if (PerformTypeEnum.鍏跺畠缁╂晥.getValue().equals(req.getPerformType())) { + CheckOtherRecordEntity checkEntity = checkOtherRecordService.get(req.getId(), context); + BeanUtils.copyProperties(checkEntity, entity, BeanUtil.getNullPropertyNames(checkEntity)); + + } else { + throw new AppException("涓嶆敮鎸佸綋鍓嶇哗鏁堢被鍨�"); + } + entity.setPerformType(req.getPerformType()); + entity.setPerformAttendAppealFilesList(req.getPerformAttendAppealFilesList()); + entity.setProcessStatus(1); + entity.setAppealDesc(req.getAppealDesc()); + PerformAttendAppealEntity saveEntity = appealService.save(entity, context); + rest.setData(saveEntity); + recordSysLog(request, busiDesc + " 銆愭垚鍔熴€�"); + } catch (Exception e) { + log.error(busiDesc, e); + rest = Rest.fail(super.convertException(e)); + } + log.info("銆恵}銆戙€愬搷搴斾綋銆�--> {}", busiDesc, JSONObject.toJSONString(req)); + return rest; + } + + + protected PageInfo buildPageInfo(AppealReq query) { + PageInfo pageInfo = new PageInfo(); + if (!ObjectUtils.isEmpty(query) && !ObjectUtils.isEmpty(query.getPage())) { + pageInfo.setCurrPage(query.getPage()); + } + + if (!ObjectUtils.isEmpty(query) && !ObjectUtils.isEmpty(query.getSize())) { + pageInfo.setPrePageResult(query.getSize()); + } + + return pageInfo; + } + + + protected void parsePageInfo(Map<String, Object> model, PageInfo pageInfo) { + model.put(TOTAL, pageInfo.getTotalResult()); + model.put(PER_PAGE, pageInfo.getPrePageResult()); + model.put(CURRENT_PAGE, pageInfo.getCurrPage()); + model.put(LAST_PAGE, pageInfo.getTotalPage()); + model.put(PAGEINFO_KEY, pageInfo); + } + + + public static void main(String[] args) { + + } + +} diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/PerformApiController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/PerformApiController.java index 32191222d62d2bf072013725dfecb64ee02fc745..457026d7f191756c56e5a3ca15218e5d0f9394b2 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/PerformApiController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/PerformApiController.java @@ -98,7 +98,8 @@ public class PerformApiController extends AbstractBaseController<PerformReq> { performStatInfo.setTotalScore(new BigDecimal("15.9")); performStatInfo.setTotalTimes(12); performStatInfo.setTodayScore(new BigDecimal("12.6")); - performStatInfo.setTodayTimes(11); + performStatInfo.setTodayTimes(4); + rest.setData(performStatInfo); recordSysLog(request, busiDesc + " 銆愭垚鍔熴€�"); } catch (Exception e) { log.error(busiDesc, e);