diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/FeedbackApiController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/FeedbackApiController.java index 3a7f22699e79399a3c42bcac1d0f582c40997c14..c3797ea987fb38923c31023b2b08babe5c422bbb 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/FeedbackApiController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/busiz/web/FeedbackApiController.java @@ -182,7 +182,6 @@ public class FeedbackApiController extends AbstractBaseController<FeedbackReq> { model.put(PAGEINFO_KEY, pageInfo); } - public static void main(String[] args) { } diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/SubMethodEnum.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/SubMethodEnum.java index 3b32292dc01d096af6d12a99fe14d66b7a819e97..613b0b9e855cc83bb2fafa40b4265f6373072d2e 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/SubMethodEnum.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/common/code/SubMethodEnum.java @@ -11,7 +11,8 @@ import java.util.Map; public enum SubMethodEnum { 绯荤粺鑷姩(1, "绯荤粺鑷姩"), 浜哄伐娣诲姞(2, "浜哄伐娣诲姞"), - 澶у巺宸℃煡(3, "澶у巺宸℃煡"); + 澶у巺宸℃煡(3, "澶у巺宸℃煡"), + 鐢宠瘔鍐查攢(4, "鐢宠瘔鍐查攢"); private Integer value; private String desc; diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/model/CheckAttendRecordEntity.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/model/CheckAttendRecordEntity.java index f0906f9db994a4e3a14cde93cedafef289ccfd3c..beb204f49071cebddcb56b3a88f810be98af0e6d 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/model/CheckAttendRecordEntity.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/check/model/CheckAttendRecordEntity.java @@ -110,7 +110,7 @@ public class CheckAttendRecordEntity extends CheckAttendRecordVo { */ private Integer checkStatus; /** - * 鎵e垎鏂瑰紡(1.绯荤粺鑷姩,2.浜哄伐娣诲姞,3.澶у巺宸℃煡) + * 鎵e垎鏂瑰紡(1.绯荤粺鑷姩,2.浜哄伐娣诲姞,3.澶у巺宸℃煡,4.鐢宠瘔鍐查攢) */ private Integer subMethod; /** diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/PerformAttendAppealService.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/PerformAttendAppealService.java index 5150a6df51831558cfd7a0d8f3cf8d49c07d2451..167ec6ead317480b1491224eadbd50782e3030b2 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/PerformAttendAppealService.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/PerformAttendAppealService.java @@ -1,16 +1,24 @@ package com.mortals.xhx.module.perform.service; + +import com.mortals.framework.common.Rest; +import com.mortals.framework.model.Context; import com.mortals.framework.service.ICRUDService; import com.mortals.xhx.module.perform.model.PerformAttendAppealEntity; import com.mortals.xhx.module.perform.dao.PerformAttendAppealDao; + /** -* PerformAttendAppealService -* -* 缁╂晥璁板綍鐢宠瘔淇℃伅 service鎺ュ彛 -* -* @author zxfei -* @date 2023-07-12 -*/ -public interface PerformAttendAppealService extends ICRUDService<PerformAttendAppealEntity,Long>{ + * PerformAttendAppealService + * <p> + * 缁╂晥璁板綍鐢宠瘔淇℃伅 service鎺ュ彛 + * + * @author zxfei + * @date 2023-07-12 + */ +public interface PerformAttendAppealService extends ICRUDService<PerformAttendAppealEntity, Long> { PerformAttendAppealDao getDao(); + + + Rest<Void> audit(PerformAttendAppealEntity appeal, Context context); + } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformAttendAppealServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformAttendAppealServiceImpl.java index ab36a82acc90f8a61fb5e5dfff316e769ebcd45d..5ab878de6a834cd1fc457113c6ccbb66439bb043 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformAttendAppealServiceImpl.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/service/impl/PerformAttendAppealServiceImpl.java @@ -1,4 +1,11 @@ package com.mortals.xhx.module.perform.service.impl; + +import com.mortals.framework.common.Rest; +import com.mortals.xhx.common.code.*; +import com.mortals.xhx.common.utils.BeanUtil; +import com.mortals.xhx.module.check.model.*; +import com.mortals.xhx.module.check.service.*; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.exception.AppException; @@ -11,27 +18,140 @@ import com.mortals.xhx.module.perform.model.PerformAttendAppealFilesEntity; import com.mortals.xhx.module.perform.model.PerformAttendAppealFilesQuery; import com.mortals.xhx.module.perform.service.PerformAttendAppealFilesService; import org.springframework.util.ObjectUtils; + import java.util.Date; import java.util.Arrays; import java.util.List; + import lombok.extern.slf4j.Slf4j; + /** -* PerformAttendAppealService -* 缁╂晥璁板綍鐢宠瘔淇℃伅 service瀹炵幇 -* -* @author zxfei -* @date 2023-07-12 -*/ + * PerformAttendAppealService + * 缁╂晥璁板綍鐢宠瘔淇℃伅 service瀹炵幇 + * + * @author zxfei + * @date 2023-07-12 + */ @Service("performAttendAppealService") @Slf4j public class PerformAttendAppealServiceImpl extends AbstractCRUDServiceImpl<PerformAttendAppealDao, PerformAttendAppealEntity, Long> implements PerformAttendAppealService { + + @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 PerformAttendAppealFilesService performAttendAppealFilesService; - + + + @Override + public Rest<Void> audit(PerformAttendAppealEntity appeal, Context context) { + PerformAttendAppealEntity appealEntity = this.get(appeal.getId(), context); + if (appealEntity.getProcessStatus() == ProcessStatusEnum.宸插鐞�.getValue()) { + throw new AppException("褰撳墠鐢宠瘔宸插鏍革紒"); + } + + appealEntity.setProcessStatus(ProcessStatusEnum.宸插鐞�.getValue()); + appealEntity.setAppealDesc(appeal.getAppealDesc()); + appealEntity.setAppealResult(appeal.getAppealResult()); + appealEntity.setAppealTime(new Date()); + appealEntity.setUpdateUserId(context.getUser().getId()); + appealEntity.setUpdateTime(new Date()); + this.getDao().update(appealEntity); + + String appealMsg = "鐢宠瘔鎴愬姛锛岃繑鍥炴墍鎵e垎鏁帮紝鐢宠瘔ID:" + appeal.getId().toString(); + if (appeal.getAppealResult() == AppealResultEnum.閫氳繃.getValue()) { + if (appeal.getSubAddType() == SubAddTypeEnum.鎵i櫎.getValue()) { + //闇€澧炰竴鏉¤褰曞悗 鍐查攢鐩稿叧鏍告煡鐨勮褰� + if (PerformTypeEnum.鑰冨嫟缁╂晥.getValue().equals(appeal.getPerformType())) { + CheckAttendRecordEntity checkEntity = checkAttendRecordService.get(appeal.getId(), context); + + CheckAttendRecordEntity checkAttendRecordEntity = new CheckAttendRecordEntity(); + checkAttendRecordEntity.initAttrValue(); + BeanUtils.copyProperties(checkEntity, checkAttendRecordEntity, new String[]{"id", "recordId"}); + checkAttendRecordEntity.setSubAddType(SubAddTypeEnum.澧炲姞.getValue()); + checkAttendRecordEntity.setSubMethod(SubMethodEnum.鐢宠瘔鍐查攢.getValue()); + checkAttendRecordEntity.setRemark(appealMsg); + checkAttendRecordService.save(checkAttendRecordEntity, context); + } else if (PerformTypeEnum.璇勪环宸瘎缁╂晥.getValue().equals(appeal.getPerformType())) { + CheckReviewRecordEntity checkEntity = checkReviewRecordService.get(appeal.getId(), context); + CheckReviewRecordEntity checkRecordEntity = new CheckReviewRecordEntity(); + checkRecordEntity.initAttrValue(); + BeanUtils.copyProperties(checkEntity, checkRecordEntity, new String[]{"id", "recordId"}); + checkRecordEntity.setSubAddType(SubAddTypeEnum.澧炲姞.getValue()); + checkRecordEntity.setSubMethod(SubMethodEnum.鐢宠瘔鍐查攢.getValue()); + checkRecordEntity.setRemark(appealMsg); + checkRecordEntity.setCreateTime(new Date()); + checkRecordEntity.setCreateUserId(this.getContextUserId(context)); + checkReviewRecordService.save(checkRecordEntity, context); + } else if (PerformTypeEnum.璇勪环鎶曡瘔缁╂晥.getValue().equals(appeal.getPerformType())) { + CheckComplainRecordEntity checkEntity = checkComplainRecordService.get(appeal.getId(), context); + + CheckComplainRecordEntity checkRecordEntity = new CheckComplainRecordEntity(); + checkRecordEntity.initAttrValue(); + BeanUtils.copyProperties(checkEntity, checkRecordEntity, new String[]{"id", "recordId"}); + checkRecordEntity.setSubAddType(SubAddTypeEnum.澧炲姞.getValue()); + checkRecordEntity.setSubMethod(SubMethodEnum.鐢宠瘔鍐查攢.getValue()); + checkRecordEntity.setRemark(appealMsg); + checkRecordEntity.setCreateTime(new Date()); + checkRecordEntity.setCreateUserId(this.getContextUserId(context)); + checkComplainRecordService.save(checkRecordEntity, context); + + } else if (PerformTypeEnum.鍔炰欢缁╂晥.getValue().equals(appeal.getPerformType())) { + CheckGoworkRecordEntity checkEntity = checkGoworkRecordService.get(appeal.getId(), context); + CheckGoworkRecordEntity checkRecordEntity = new CheckGoworkRecordEntity(); + checkRecordEntity.initAttrValue(); + BeanUtils.copyProperties(checkEntity, checkRecordEntity, new String[]{"id", "recordId"}); + checkRecordEntity.setSubAddType(SubAddTypeEnum.澧炲姞.getValue()); + checkRecordEntity.setSubMethod(SubMethodEnum.鐢宠瘔鍐查攢.getValue()); + checkRecordEntity.setRemark(appealMsg); + checkRecordEntity.setCreateTime(new Date()); + checkRecordEntity.setCreateUserId(this.getContextUserId(context)); + checkGoworkRecordService.save(checkRecordEntity, context); + + } else if (PerformTypeEnum.鏁堣兘缁╂晥.getValue().equals(appeal.getPerformType())) { + CheckEffectRecordEntity checkEntity = checkEffectRecordService.get(appeal.getId(), context); + CheckEffectRecordEntity checkRecordEntity = new CheckEffectRecordEntity(); + checkRecordEntity.initAttrValue(); + BeanUtils.copyProperties(checkEntity, checkRecordEntity, new String[]{"id", "recordId"}); + checkRecordEntity.setSubAddType(SubAddTypeEnum.澧炲姞.getValue()); + checkRecordEntity.setSubMethod(SubMethodEnum.鐢宠瘔鍐查攢.getValue()); + checkRecordEntity.setRemark(appealMsg); + checkRecordEntity.setCreateTime(new Date()); + checkRecordEntity.setCreateUserId(this.getContextUserId(context)); + checkEffectRecordService.save(checkRecordEntity, context); + + } else if (PerformTypeEnum.鍏跺畠缁╂晥.getValue().equals(appeal.getPerformType())) { + CheckOtherRecordEntity checkEntity = checkOtherRecordService.get(appeal.getId(), context); + CheckOtherRecordEntity checkRecordEntity = new CheckOtherRecordEntity(); + checkRecordEntity.initAttrValue(); + BeanUtils.copyProperties(checkEntity, checkRecordEntity, new String[]{"id", "recordId"}); + checkRecordEntity.setSubAddType(SubAddTypeEnum.澧炲姞.getValue()); + checkRecordEntity.setSubMethod(SubMethodEnum.鐢宠瘔鍐查攢.getValue()); + checkRecordEntity.setRemark(appealMsg); + checkRecordEntity.setCreateTime(new Date()); + checkRecordEntity.setCreateUserId(this.getContextUserId(context)); + checkOtherRecordService.save(checkRecordEntity, context); + } + } + } + return Rest.ok(); + } + + @Override protected void saveAfter(PerformAttendAppealEntity entity, Context context) throws AppException { - if(!ObjectUtils.isEmpty(entity.getPerformAttendAppealFilesList())){ - entity.getPerformAttendAppealFilesList().stream().peek(item->{ + if (!ObjectUtils.isEmpty(entity.getPerformAttendAppealFilesList())) { + entity.getPerformAttendAppealFilesList().stream().peek(item -> { item.setAppealId(entity.getId()); item.setCreateUserId(this.getContextUserId(context)); item.setCreateTime(new Date()); @@ -43,10 +163,10 @@ public class PerformAttendAppealServiceImpl extends AbstractCRUDServiceImpl<Perf @Override protected void updateAfter(PerformAttendAppealEntity entity, Context context) throws AppException { - if(!ObjectUtils.isEmpty(entity.getPerformAttendAppealFilesList())){ + if (!ObjectUtils.isEmpty(entity.getPerformAttendAppealFilesList())) { Long[] performAttendAppealFilesIds = performAttendAppealFilesService.find(new PerformAttendAppealFilesQuery().appealId(entity.getId())).stream().map(PerformAttendAppealFilesEntity::getId).toArray(Long[]::new); - performAttendAppealFilesService.remove(performAttendAppealFilesIds,context); - entity.getPerformAttendAppealFilesList().stream().peek(item ->{ + performAttendAppealFilesService.remove(performAttendAppealFilesIds, context); + entity.getPerformAttendAppealFilesList().stream().peek(item -> { item.setAppealId(entity.getId()); item.setCreateUserId(this.getContextUserId(context)); item.setCreateTime(new Date()); @@ -61,7 +181,8 @@ public class PerformAttendAppealServiceImpl extends AbstractCRUDServiceImpl<Perf @Override protected void removeAfter(Long[] ids, Context context, int result) throws AppException { List<PerformAttendAppealFilesEntity> performAttendAppealFileslist = performAttendAppealFilesService.find(new PerformAttendAppealFilesQuery().appealIdList(Arrays.asList(ids))); - performAttendAppealFilesService.removeList(performAttendAppealFileslist,context); + performAttendAppealFilesService.removeList(performAttendAppealFileslist, context); super.removeAfter(ids, context, result); } + } \ No newline at end of file diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformAttendAppealController.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformAttendAppealController.java index d2d20e2721a45567327bcddcdfab06513654e418..2545d1bccd671308d684530a62a1b9ec1db8b581 100644 --- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformAttendAppealController.java +++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/perform/web/PerformAttendAppealController.java @@ -1,57 +1,93 @@ package com.mortals.xhx.module.perform.web; + +import com.mortals.framework.common.Rest; +import com.mortals.framework.exception.AppException; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.xhx.base.system.param.service.ParamService; +import com.mortals.xhx.common.code.EnabledEnum; +import com.mortals.xhx.common.code.YesNoEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import com.mortals.framework.model.Context; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.xhx.module.perform.model.PerformAttendAppealEntity; import com.mortals.xhx.module.perform.service.PerformAttendAppealService; import org.apache.commons.lang3.ArrayUtils; import com.mortals.framework.util.StringUtils; + import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; + import com.alibaba.fastjson.JSONObject; + import java.util.Arrays; + import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; + import static com.mortals.framework.ap.SysConstains.*; + /** -* -* 缁╂晥璁板綍鐢宠瘔淇℃伅 -* -* @author zxfei -* @date 2023-07-12 -*/ + * 缁╂晥璁板綍鐢宠瘔淇℃伅 + * + * @author zxfei + * @date 2023-07-12 + */ @RestController @RequestMapping("perform/attend/appeal") -public class PerformAttendAppealController extends BaseCRUDJsonBodyMappingController<PerformAttendAppealService,PerformAttendAppealEntity,Long> { +public class PerformAttendAppealController extends BaseCRUDJsonBodyMappingController<PerformAttendAppealService, PerformAttendAppealEntity, Long> { @Autowired private ParamService paramService; - public PerformAttendAppealController(){ - super.setModuleDesc( "缁╂晥璁板綍鐢宠瘔淇℃伅"); + public PerformAttendAppealController() { + super.setModuleDesc("缁╂晥璁板綍鐢宠瘔淇℃伅"); } @Override protected void init(Map<String, Object> model, Context context) { - this.addDict(model, "subMethod", paramService.getParamBySecondOrganize("PerformAttendAppeal","subMethod")); - this.addDict(model, "subAddType", paramService.getParamBySecondOrganize("PerformAttendAppeal","subAddType")); - this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("PerformAttendAppeal","processStatus")); - this.addDict(model, "appealResult", paramService.getParamBySecondOrganize("PerformAttendAppeal","appealResult")); - this.addDict(model, "reviewResult", paramService.getParamBySecondOrganize("PerformAttendAppeal","reviewResult")); - this.addDict(model, "reviewSource", paramService.getParamBySecondOrganize("PerformAttendAppeal","reviewSource")); - this.addDict(model, "irregularType", paramService.getParamBySecondOrganize("PerformAttendAppeal","irregularType")); - this.addDict(model, "irregularOtherType", paramService.getParamBySecondOrganize("PerformAttendAppeal","irregularOtherType")); + this.addDict(model, "subMethod", paramService.getParamBySecondOrganize("PerformAttendAppeal", "subMethod")); + this.addDict(model, "subAddType", paramService.getParamBySecondOrganize("PerformAttendAppeal", "subAddType")); + this.addDict(model, "processStatus", paramService.getParamBySecondOrganize("PerformAttendAppeal", "processStatus")); + this.addDict(model, "appealResult", paramService.getParamBySecondOrganize("PerformAttendAppeal", "appealResult")); + this.addDict(model, "reviewResult", paramService.getParamBySecondOrganize("PerformAttendAppeal", "reviewResult")); + this.addDict(model, "reviewSource", paramService.getParamBySecondOrganize("PerformAttendAppeal", "reviewSource")); + this.addDict(model, "irregularType", paramService.getParamBySecondOrganize("PerformAttendAppeal", "irregularType")); + this.addDict(model, "irregularOtherType", paramService.getParamBySecondOrganize("PerformAttendAppeal", "irregularOtherType")); super.init(model, context); } + /** + * 鐢宠瘔瀹℃牳 + */ + @PostMapping(value = "audit") + public String appealAudit(@RequestBody PerformAttendAppealEntity appeal) { + JSONObject jsonObject = new JSONObject(); + Map<String, Object> model = new HashMap<>(); + String busiDesc = this.getModuleDesc() + "瀹℃牳"; + try { + Rest<Void> audit = this.service.audit(appeal, getContext()); + if (audit.getCode() == YesNoEnum.NO.getValue()) { + throw new AppException("鐢宠瘔瀹℃牳寮傚父锛�"); + } + recordSysLog(request, busiDesc + " 銆愭垚鍔熴€�"); + jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS); + } catch (Exception e) { + log.error("鐢宠瘔瀹℃牳", e); + jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE); + jsonObject.put(KEY_RESULT_MSG, super.convertException(e)); + } + return jsonObject.toJSONString(); + } + + } \ No newline at end of file