ソースを参照

分班相关功能

dzx 1 年間 前
コミット
a45c6070f2

+ 29 - 0
src/main/java/com/xjrsoft/module/banding/controller/BandingTaskController.java

@@ -11,9 +11,14 @@ import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.banding.dto.AddBandingTaskDto;
 import com.xjrsoft.module.banding.dto.BandingTaskPageDto;
 import com.xjrsoft.module.banding.dto.UpdateBandingTaskDto;
+import com.xjrsoft.module.banding.entity.BandingRule;
 import com.xjrsoft.module.banding.entity.BandingTask;
+import com.xjrsoft.module.banding.entity.BandingTaskRule;
+import com.xjrsoft.module.banding.service.IBandingRuleService;
+import com.xjrsoft.module.banding.service.IBandingTaskRuleService;
 import com.xjrsoft.module.banding.service.IBandingTaskService;
 import com.xjrsoft.module.banding.vo.BandingTaskPageVo;
+import com.xjrsoft.module.banding.vo.BandingTaskRuleVo;
 import com.xjrsoft.module.banding.vo.BandingTaskVo;
 import com.xjrsoft.module.base.entity.BaseGrade;
 import com.xjrsoft.module.system.entity.DictionaryDetail;
@@ -30,7 +35,10 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
 * @title: 新生分班任务
@@ -46,6 +54,8 @@ public class BandingTaskController {
 
 
     private final IBandingTaskService bandingTaskService;
+    private final IBandingRuleService ruleService;
+    private final IBandingTaskRuleService taskRuleService;
 
     @GetMapping(value = "/page")
     @ApiOperation(value="新生分班任务列表(分页)")
@@ -101,7 +111,26 @@ public class BandingTaskController {
     @SaCheckPermission("bandingtask:delete")
     public RT<Boolean> delete(@Valid @RequestBody List<Long> ids){
         return RT.ok(bandingTaskService.delete(ids));
+    }
 
+    @GetMapping(value = "/rule-list")
+    @ApiOperation(value="查询所有规则")
+    @SaCheckPermission("bandingtask:detail")
+    public RT<List<BandingTaskRuleVo>> ruleList(@RequestParam Long id){
+        List<BandingRule> ruleList = ruleService.list();
+
+        Set<Long> collect = taskRuleService.list().stream().map(BandingTaskRule::getBandingRuleId).collect(Collectors.toSet());
+
+        List<BandingTaskRuleVo> list = new ArrayList<>();
+        for (BandingRule bandingRule : ruleList) {
+            BandingTaskRuleVo bandingTaskRuleVo = BeanUtil.toBean(bandingRule, BandingTaskRuleVo.class);
+            bandingTaskRuleVo.setIsSelected(0);
+            if(collect.contains(bandingRule.getId())){
+                bandingTaskRuleVo.setIsSelected(1);
+            }
+            list.add(bandingTaskRuleVo);
+        }
+        return RT.ok(list);
     }
 
 }

+ 21 - 0
src/main/java/com/xjrsoft/module/banding/dto/BandingTaskRulePageDto.java

@@ -0,0 +1,21 @@
+package com.xjrsoft.module.banding.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+
+/**
+* @title: 新生分班规则分页查询入参
+* @Author dzx
+* @Date: 2024-07-01
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class BandingTaskRulePageDto extends PageInput {
+
+    @ApiModelProperty("分班任务id")
+    private Long BandingTaskId;
+}

+ 6 - 3
src/main/java/com/xjrsoft/module/banding/entity/BandingRule.java

@@ -80,10 +80,13 @@ public class BandingRule implements Serializable {
     @ApiModelProperty("规则名称")
     private String name;
     /**
-    * 招生类型
+    * 规则代码
     */
-    @ApiModelProperty("招生类型")
-    private String enrollType;
+    @ApiModelProperty("规则代码")
+    private String code;
+
+    @ApiModelProperty("选择方式(radtio:单选, multi:多选)")
+    private String chooseType;
 
 
 }

+ 39 - 0
src/main/java/com/xjrsoft/module/banding/service/IBandingTaskRuleService.java

@@ -0,0 +1,39 @@
+package com.xjrsoft.module.banding.service;
+
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.banding.entity.BandingTaskRule;
+
+import java.util.List;
+
+/**
+* @title: 新生分班任务
+* @Author dzx
+* @Date: 2024-07-01
+* @Version 1.0
+*/
+
+public interface IBandingTaskRuleService extends MPJBaseService<BandingTaskRule> {
+    /**
+    * 新增
+    *
+    * @param bandingTaskRule
+    * @return
+    */
+    Boolean add(BandingTaskRule bandingTaskRule);
+
+    /**
+    * 更新
+    *
+    * @param bandingTaskRule
+    * @return
+    */
+    Boolean update(BandingTaskRule bandingTaskRule);
+
+    /**
+    * 删除
+    *
+    * @param ids
+    * @return
+    */
+    Boolean delete(List<Long> ids);
+}

+ 38 - 0
src/main/java/com/xjrsoft/module/banding/service/impl/BandingTaskRuleServiceImpl.java

@@ -0,0 +1,38 @@
+package com.xjrsoft.module.banding.service.impl;
+
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.module.banding.entity.BandingTaskRule;
+import com.xjrsoft.module.banding.mapper.BandingTaskRuleMapper;
+import com.xjrsoft.module.banding.service.IBandingTaskRuleService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+* @title: 新生分班任务
+* @Author dzx
+* @Date: 2024-07-01
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class BandingTaskRuleServiceImpl extends MPJBaseServiceImpl<BandingTaskRuleMapper, BandingTaskRule> implements IBandingTaskRuleService {
+    @Override
+    public Boolean add(BandingTaskRule bandingTaskRule) {
+        this.baseMapper.insert(bandingTaskRule);
+        return true;
+    }
+
+    @Override
+    public Boolean update(BandingTaskRule bandingTaskRule) {
+        this.baseMapper.updateById(bandingTaskRule);
+        return true;
+    }
+
+    @Override
+    public Boolean delete(List<Long> ids) {
+        this.baseMapper.deleteBatchIds(ids);
+        return true;
+    }
+}

+ 12 - 4
src/main/java/com/xjrsoft/module/banding/vo/BandingTaskRuleVo.java

@@ -25,13 +25,21 @@ public class BandingTaskRuleVo {
     /**
     * 新生分班规则(banding_rule)
     */
-    @ApiModelProperty("新生分班规则(banding_rule)")
-    private Long bandingRuleId;
+    @ApiModelProperty("规则名称")
+    private String name;
     /**
     * 分班任务(banding_task)
     */
-    @ApiModelProperty("分班任务(banding_task)")
-    private Long bandingTaskId;
+    @ApiModelProperty("规则code")
+    private String code;
+
+    @ApiModelProperty("选择方式(radtio:单选, multi:多选)")
+    private String chooseType;
+
+    @ApiModelProperty("是否被选上(1:是 0:否)")
+    private Integer isSelected;
+
+    private Long bandingTaskRuleId;