Explorar el Código

修改教师状态 、 字典状态变时更改状态

DESKTOP-USV654P\pc hace 3 meses
padre
commit
4dcb983bf1

+ 18 - 14
src/main/java/com/xjrsoft/module/system/controller/DictionarydetailController.java

@@ -1,11 +1,9 @@
 package com.xjrsoft.module.system.controller;
 
-import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.xjrsoft.common.constant.GlobalConstant;
@@ -14,25 +12,19 @@ import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.common.utils.VoToColumnUtil;
-import com.xjrsoft.module.organization.dto.UserChangeStatusDto;
-import com.xjrsoft.module.organization.entity.User;
 import com.xjrsoft.module.system.dto.*;
 import com.xjrsoft.module.system.entity.DictionaryDetail;
+import com.xjrsoft.module.system.entity.DictionaryItem;
 import com.xjrsoft.module.system.service.IDictionarydetailService;
+import com.xjrsoft.module.system.service.IDictionaryitemService;
 import com.xjrsoft.module.system.vo.DictionaryDetailListVo;
 import com.xjrsoft.module.system.vo.DictionaryDetailPageVo;
 import com.xjrsoft.module.system.vo.DictionaryDetailVo;
+import com.xjrsoft.module.teacher.service.ITeacherbaseManagerService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.List;
@@ -52,6 +44,8 @@ import java.util.List;
 public class DictionarydetailController {
 
     private IDictionarydetailService dictionarydetailService;
+    private IDictionaryitemService dictionaryitemService;
+    private ITeacherbaseManagerService teacherbaseManagerService;
 
     @GetMapping
     @ApiOperation(value = "获取当前数据字典详情(不分页)")
@@ -158,9 +152,19 @@ public class DictionarydetailController {
         if (count > 0) {
             return R.error("字典名称、编码或值已经存在!");
         }
-        DictionaryDetail dictionaryItem = BeanUtil.toBean(dto, DictionaryDetail.class);
+        DictionaryDetail dictionaryDetail = BeanUtil.toBean(dto, DictionaryDetail.class);
+        DictionaryItem dictionaryItem=   dictionaryitemService.getById(dictionaryDetail.getItemId());
+        if(dictionaryItem!=null) {
+            if (dictionaryItem.getCode().equals("job_state")) {
+                Integer isNormal = 1;
+                if (dictionaryDetail.getExtendField1().equals("0")) {
+                    isNormal = 0;
+                }
+                teacherbaseManagerService.changeIsNormal(dictionaryDetail.getValue(), isNormal);
+            }
+        }
 
-        boolean isSuccess = dictionarydetailService.updateById(dictionaryItem);
+        boolean isSuccess = dictionarydetailService.updateById(dictionaryDetail);
         if (isSuccess) dictionarydetailService.loadCaches();
         return R.ok(isSuccess);
     }

+ 5 - 1
src/main/java/com/xjrsoft/module/teacher/entity/BaseTeacher.java

@@ -199,6 +199,10 @@ public class BaseTeacher implements Serializable {
     */
     @ApiModelProperty("聘用方式(xjr_dictionary_item[employ_type])上级聘用类型")
     private String employWay;
-
+    /**
+     * 是否正常数据(1:是 0:否)
+     */
+    @ApiModelProperty("是否正常数据(1:是 0:否)")
+    private Integer isNormal;
 
 }

+ 2 - 0
src/main/java/com/xjrsoft/module/teacher/service/ITeacherbaseManagerService.java

@@ -41,4 +41,6 @@ public interface ITeacherbaseManagerService extends MPJBaseService<XjrUser> {
     Boolean delete(List<Long> ids);
 
     Boolean importData( List<Map<Integer, Object>> excelDataList);
+
+    void changeIsNormal(String jobState,Integer isNormal);
 }

+ 46 - 0
src/main/java/com/xjrsoft/module/teacher/service/impl/TeacherbaseManagerServiceImpl.java

@@ -93,6 +93,7 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
     private final IDictionarydetailService dictionaryService;
     private final IDepartmentService departmentService;
     private final IPostService postService;
+    private IDictionarydetailService dictionarydetailService;
 
 
     @Override
@@ -106,7 +107,24 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
         xjrUser.setPassword(BCrypt.hashpw(propertiesConfig.getDefaultPassword(), BCrypt.gensalt()));
         teacherbaseManagerXjrUserMapper.insert(xjrUser);
         for (BaseTeacher baseTeacher : xjrUser.getBaseTeacherList()) {
+
             baseTeacher.setUserId(xjrUser.getId());
+
+            if (StrUtil.isNotBlank(baseTeacher.getJobState())) {
+                baseTeacher.setIsNormal(1);
+            } else {
+                DictionaryDetail dictionaryDetail = dictionarydetailService.getOne(Wrappers.<DictionaryDetail>query()
+                        .lambda()
+                        .eq(DictionaryDetail::getValue, baseTeacher.getJobState()));
+                if (dictionaryDetail != null) {
+                    if (dictionaryDetail.getExtendField1().equals("0")) {
+                        baseTeacher.setIsNormal(0);
+                    } else {
+                        baseTeacher.setIsNormal(1);
+                    }
+                }
+            }
+
             teacherbaseManagerBaseTeacherMapper.insert(baseTeacher);
         }
         for (BaseTeacherContact baseTeacherContact : xjrUser.getBaseTeacherContactList()) {
@@ -240,6 +258,22 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
             List<Long> baseTeacherRemoveIds = baseTeacherIds.stream().filter(item -> !baseTeacherOldIds.contains(item)).collect(Collectors.toList());
 
             for (BaseTeacher baseTeacher : xjrUser.getBaseTeacherList()) {
+
+                if (StrUtil.isNotBlank(baseTeacher.getJobState())) {
+                    baseTeacher.setIsNormal(1);
+                } else {
+                    DictionaryDetail dictionaryDetail = dictionarydetailService.getOne(Wrappers.<DictionaryDetail>query()
+                            .lambda()
+                            .eq(DictionaryDetail::getValue, baseTeacher.getJobState()));
+                    if (dictionaryDetail != null) {
+                        if (dictionaryDetail.getExtendField1().equals("0")) {
+                            baseTeacher.setIsNormal(0);
+                        } else {
+                            baseTeacher.setIsNormal(1);
+                        }
+                    }
+                }
+
                 //如果不等于空则修改
                 if (baseTeacher.getId() != null) {
                     teacherbaseManagerBaseTeacherMapper.updateById(baseTeacher);
@@ -622,4 +656,16 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
 
         return true;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public  void changeIsNormal(String jobState,Integer isNormal){
+        List<BaseTeacher> baseTeacherList = teacherbaseManagerBaseTeacherMapper.selectList(Wrappers.lambdaQuery(BaseTeacher.class)
+                .eq(BaseTeacher::getJobState, jobState));
+        for (BaseTeacher baseTeacher : baseTeacherList) {
+            baseTeacher.setIsNormal(isNormal);
+            teacherbaseManagerBaseTeacherMapper.updateById(baseTeacher);
+        }
+
+    }
 }