he2802 3 年 前
コミット
6fa2e79881

+ 33 - 17
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/UserPeriodServiceImpl.java

@@ -253,18 +253,34 @@ public class UserPeriodServiceImpl extends ServiceImpl<UserPeriodMapper, UserPer
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean editPeriodAll(UserPeriodEditBo bo) {
-        LoginUser loginUser = SecurityUtils.getLoginUser();
-        if (Validator.isEmpty(bo.getIds()) || bo.getIds().size() < 1) {
-            throw new CustomException("您没有勾选数据");
-        }
-        Long firstId = bo.getIds().get(0);
-
-        //查询此人学时审核是否有权限
-        if (!loginUser.getUser().isAdmin()) {
-            if (baseMapper.selectCountPeriod(loginUser.getUser().getUserId(), firstId) < 1) {
-                throw new IllegalArgumentException("您没有审核权限");
+        for (Long id : bo.getIds()) {
+            UserPeriodStatusVo oldData = userPeriodStatusService.queryById(id);
+            Long goodsId;
+            String userName = "系统自动审核通过";
+            if (ObjectUtils.isNotNull(bo.getGoodsId())){
+                goodsId = bo.getGoodsId();
+            }else {
+                UserPeriod period = getById(oldData.getPeriodId());
+                goodsId = period.getGoodsId();
+            }
+            //获取业务学时审核数据
+            Goods goods = iGoodsService.getById(goodsId);
+            CourseBusiness business = iCourseBusinessService.getById(goods.getBusinessId());
+            if (ObjectUtils.isNull(business.getPeriodType()) || business.getPeriodType() == 1){
+                //人工审核
+                //查询此人学时审核是否有权限
+                LoginUser loginUser = SecurityUtils.getLoginUser();
+                userName = SecurityUtils.getUsername();
+                if (!loginUser.getUser().isAdmin()) {
+                    if (baseMapper.selectCountPeriod(loginUser.getUser().getUserId(), id) < 1) {
+                        throw new IllegalArgumentException("您没有审核权限");
+                    }
+                }
+                //获取旧的状态
+                if (oldData.getStatus() != 2) {
+                    throw new CustomException("无法修改非待审核记录");
+                }
             }
-        }
         //查询所有审核记录
   /*      LambdaQueryWrapper<UserPeriod> lqw = Wrappers.lambdaQuery();
         lqw.eq(bo.getUserId() != null, UserPeriod::getUserId, bo.getUserId());
@@ -272,19 +288,19 @@ public class UserPeriodServiceImpl extends ServiceImpl<UserPeriodMapper, UserPer
         lqw.eq(bo.getGradeId() != null, UserPeriod::getGradeId, bo.getGradeId());
         List<UserPeriod> list = this.list(lqw);*/
         //更改待审审核状态
-        for (Long id : bo.getIds()) {
+
             //获取旧的状态
-            UserPeriodStatusVo oldData = userPeriodStatusService.queryById(id);
-            if (oldData.getStatus() != 2) {
-                throw new CustomException("无法修改非待审核记录");
-            }
+//            UserPeriodStatusVo oldData = userPeriodStatusService.queryById(id);
+//            if (oldData.getStatus() != 2) {
+//                throw new CustomException("无法修改非待审核记录");
+//            }
             UserPeriodStatus userPeriodStatus = new UserPeriodStatus();
             userPeriodStatus.setPeriodStatus(1);
             userPeriodStatus.setStatus(bo.getStatus());
             userPeriodStatus.setUpdateTime(DateUtils.getNowTime());
             userPeriodStatus.setAuditTime(DateUtils.getNowTime());
             userPeriodStatus.setAuditReason(bo.getAuditReason());
-            userPeriodStatus.setAuditUserName(SecurityUtils.getUsername());
+            userPeriodStatus.setAuditUserName(userName);
             LambdaQueryWrapper<UserPeriodStatus> userPeriods = Wrappers.lambdaQuery();
             userPeriods.eq(UserPeriodStatus::getId, id);
             userPeriods.eq(UserPeriodStatus::getPeriodStatus, 1);