Jelajahi Sumber

fix 模考安排修改功能

tanzh 3 tahun lalu
induk
melakukan
72af45a049

+ 7 - 7
zhongzheng-admin/src/main/java/com/zhongzheng/controller/mock/MockApplyController.java

@@ -45,19 +45,19 @@ public class MockApplyController extends BaseController {
     /**
      * 查询模考安排列表
      */
-    @ApiOperation("查询模考安排列表")
+    /*@ApiOperation("查询模考安排列表")
     @PreAuthorize("@ss.hasPermi('system:apply:list')")
     @GetMapping("/list")
     public TableDataInfo<MockApplyVo> list(MockApplyQueryBo bo) {
         startPage();
         List<MockApplyVo> list = iMockApplyService.queryList(bo);
         return getDataTable(list);
-    }
+    }*/
 
     /**
      * 导出模考安排列表
      */
-    @ApiOperation("导出模考安排列表")
+    /*@ApiOperation("导出模考安排列表")
     @PreAuthorize("@ss.hasPermi('system:apply:export')")
     @Log(title = "模考安排", businessType = BusinessType.EXPORT)
     @GetMapping("/export")
@@ -65,7 +65,7 @@ public class MockApplyController extends BaseController {
         List<MockApplyVo> list = iMockApplyService.queryList(bo);
         ExcelUtil<MockApplyVo> util = new ExcelUtil<MockApplyVo>(MockApplyVo.class);
         return util.exportExcel(list, "模考安排");
-    }
+    }*/
 
     /**
      * 获取模考安排详细信息
@@ -94,7 +94,7 @@ public class MockApplyController extends BaseController {
     @ApiOperation("修改模考安排")
     @PreAuthorize("@ss.hasPermi('system:apply:edit')")
     @Log(title = "模考安排", businessType = BusinessType.UPDATE)
-    @PutMapping()
+    @PostMapping("/edit")
     public AjaxResult<Void> edit(@RequestBody MockApplyEditBo bo) {
         return toAjax(iMockApplyService.updateByEditBo(bo) ? 1 : 0);
     }
@@ -102,13 +102,13 @@ public class MockApplyController extends BaseController {
     /**
      * 删除模考安排
      */
-    @ApiOperation("删除模考安排")
+    /*@ApiOperation("删除模考安排")
     @PreAuthorize("@ss.hasPermi('system:apply:remove')")
     @Log(title = "模考安排" , businessType = BusinessType.DELETE)
     @DeleteMapping("/{applyIds}")
     public AjaxResult<Void> remove(@PathVariable Long[] applyIds) {
         return toAjax(iMockApplyService.deleteWithValidByIds(Arrays.asList(applyIds), true) ? 1 : 0);
-    }
+    }*/
 
     /**
      * 查询模考安排列表

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/bo/MockApplyAddBo.java

@@ -54,6 +54,9 @@ public class MockApplyAddBo {
     /** 编码 */
     @ApiModelProperty("编码")
     private String code;
+    /** 开考限制时间 */
+    @ApiModelProperty("开考限制时间")
+    private Long timeLimit;
 
     /** 关联专业列表 */
     @ApiModelProperty("关联专业列表")

+ 9 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/bo/MockApplyEditBo.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import java.util.Date;
+import java.util.List;
 
 
 /**
@@ -66,4 +67,12 @@ public class MockApplyEditBo {
     @ApiModelProperty("编码")
     private String code;
 
+    /** 开考限制时间 */
+    @ApiModelProperty("开考限制时间")
+    private Long timeLimit;
+
+    /** 关联专业列表 */
+    @ApiModelProperty("关联专业列表")
+    private List<MockMajorEditBo> mockMajorEditBoList;
+
 }

+ 8 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/bo/MockApplyQueryBo.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 import java.util.HashMap;
 
@@ -51,9 +52,9 @@ public class MockApplyQueryBo extends BaseEntity {
 	/** 预约结束时间 */
 	@ApiModelProperty("预约结束时间")
 	private Long applyEndTime;
-	/** 1 启用 0未启用 -1删除 2已过期 */
-	@ApiModelProperty("1 启用 0未启用 -1删除 2已过期")
-	private Integer status;
+	/** 1已发布 0未发布 -1删除 */
+	@ApiModelProperty("1已发布 0未发布 -1删除")
+	private List<Integer> status;
 	/** 教育类型id */
 	@ApiModelProperty("教育类型id")
 	private Long educationTypeId;
@@ -71,5 +72,8 @@ public class MockApplyQueryBo extends BaseEntity {
 	private Long majorId;
 	/** 专业名称 */
 	@ApiModelProperty("专业名称")
-	private Long majorName;
+	private String majorName;
+	/** 开考限制时间 */
+	@ApiModelProperty("开考限制时间")
+	private Long timeLimit;
 }

+ 4 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/bo/MockMajorEditBo.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import java.util.Date;
+import java.util.List;
 
 
 /**
@@ -33,5 +34,7 @@ public class MockMajorEditBo {
     @ApiModelProperty("修改时间")
     private Long updateTime;
 
-
+    /** 关联科目列表 */
+    @ApiModelProperty("关联科目列表")
+    private List<MockMajorSubjectEditBo> mockMajorSubjectEditBoList;
 }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/bo/MockMajorSubjectEditBo.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import java.util.Date;
+import java.util.List;
 
 
 /**
@@ -41,5 +42,12 @@ public class MockMajorSubjectEditBo {
     @ApiModelProperty("更新时间")
     private Long updateTime;
 
+    /** 关联商品列表 */
+    @ApiModelProperty("关联商品列表")
+    private List<MockMajorSubjectGoodsEditBo> mockMajorSubjectGoodsEditBoList;
+
+    /** 关联时间列表 */
+    @ApiModelProperty("关联时间列表")
+    private List<MockMajorSubjectTimeEditBo> mockMajorSubjectTimeEditBoList;
 
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/domain/MockApply.java

@@ -52,4 +52,6 @@ private static final long serialVersionUID=1L;
     private Long projectId;
     /** 编码 */
     private String code;
+    /** 开考限制时间 */
+    private String timeLimit;
 }

+ 35 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/service/impl/MockApplyServiceImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.modules.course.domain.Major;
 import com.zhongzheng.modules.course.service.IMajorService;
 import com.zhongzheng.modules.mock.bo.*;
@@ -22,6 +23,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.Page;
 import com.zhongzheng.modules.mock.mapper.MockApplyMapper;
 import com.zhongzheng.modules.mock.vo.MockApplyVo;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -75,6 +77,7 @@ public class MockApplyServiceImpl extends ServiceImpl<MockApplyMapper, MockApply
         lqw.eq(bo.getStatus() != null, MockApply::getStatus, bo.getStatus());
         lqw.eq(bo.getEducationTypeId() != null, MockApply::getEducationTypeId, bo.getEducationTypeId());
         lqw.eq(bo.getBusinessId() != null, MockApply::getBusinessId, bo.getBusinessId());
+        lqw.eq(bo.getTimeLimit() != null, MockApply::getTimeLimit, bo.getTimeLimit());
         lqw.eq(StrUtil.isNotBlank(bo.getCode()), MockApply::getCode, bo.getCode());
         return entity2Vo(this.list(lqw));
     }
@@ -103,6 +106,7 @@ public class MockApplyServiceImpl extends ServiceImpl<MockApplyMapper, MockApply
     public Boolean insertByAddBo(MockApplyAddBo bo) {
         MockApply add = BeanUtil.toBean(bo, MockApply.class);
         validEntityBeforeSave(add);
+        add.setCode(ServletUtils.getEncoded("KSAP"));
         add.setCreateTime(DateUtils.getNowTime());
         add.setUpdateTime(DateUtils.getNowTime());
         this.save(add);
@@ -166,11 +170,41 @@ public class MockApplyServiceImpl extends ServiceImpl<MockApplyMapper, MockApply
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean updateByEditBo(MockApplyEditBo bo) {
         MockApply update = BeanUtil.toBean(bo, MockApply.class);
         validEntityBeforeSave(update);
         update.setUpdateTime(DateUtils.getNowTime());
-        return this.updateById(update);
+        this.updateById(update);
+        if (BeanUtil.isNotEmpty(bo.getMockMajorEditBoList())) {
+            bo.getMockMajorEditBoList().stream().forEach(mockMajorEditBo -> {
+                MockMajor mockMajor = BeanUtil.toBean(mockMajorEditBo, MockMajor.class);
+                mockMajor.setUpdateTime(DateUtils.getNowTime());
+                iMockMajorService.updateById(mockMajor);
+                if (BeanUtil.isNotEmpty(mockMajorEditBo.getMockMajorSubjectEditBoList())) {
+                    mockMajorEditBo.getMockMajorSubjectEditBoList().stream().forEach(mockMajorSubjectEditBo -> {
+                        MockMajorSubject mockMajorSubject = BeanUtil.toBean(mockMajorSubjectEditBo, MockMajorSubject.class);
+                        mockMajorSubject.setUpdateTime(DateUtils.getNowTime());
+                        iMockMajorSubjectService.updateById(mockMajorSubject);
+                        if (BeanUtil.isNotEmpty(mockMajorSubjectEditBo.getMockMajorSubjectTimeEditBoList())) {
+                            mockMajorSubjectEditBo.getMockMajorSubjectTimeEditBoList().stream().forEach(mockMajorSubjectTimeEditBo -> {
+                                MockMajorSubjectTime mockMajorSubjectTime = BeanUtil.toBean(mockMajorSubjectTimeEditBo, MockMajorSubjectTime.class);
+                                mockMajorSubjectTime.setUpdateTime(DateUtils.getNowTime());
+                                iMockMajorSubjectTimeService.updateById(mockMajorSubjectTime);
+                            });
+                        }
+                        if (BeanUtil.isNotEmpty(mockMajorSubjectEditBo.getMockMajorSubjectGoodsEditBoList())) {
+                            mockMajorSubjectEditBo.getMockMajorSubjectGoodsEditBoList().stream().forEach(mockMajorSubjectGoodsEditBo -> {
+                                MockMajorSubjectGoods mockMajorSubjectGoods = BeanUtil.toBean(mockMajorSubjectGoodsEditBo, MockMajorSubjectGoods.class);
+                                mockMajorSubjectGoods.setUpdateTime(DateUtils.getNowTime());
+                                iMockMajorSubjectGoodsService.updateById(mockMajorSubjectGoods);
+                            });
+                        }
+                    });
+                }
+            });
+        }
+        return true;
     }
 
     private Long formatTime(Long startTime, String addTime) throws ParseException {

+ 7 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/vo/MockApplyVo.java

@@ -71,7 +71,7 @@ public class MockApplyVo {
 	/** 项目名称 */
 	@Excel(name = "项目名称")
 	@ApiModelProperty("项目名称")
-	private Long projectName;
+	private String projectName;
 	/** 编码 */
 	@Excel(name = "编码")
 	@ApiModelProperty("编码")
@@ -95,7 +95,7 @@ public class MockApplyVo {
 	/** 科目名称 */
 	@Excel(name = "科目名称")
 	@ApiModelProperty("科目名称")
-	private Long subjectName;
+	private String subjectName;
 
 	/** 试卷ID */
 	@Excel(name = "试卷ID")
@@ -130,7 +130,7 @@ public class MockApplyVo {
 	/** 专业名称 */
 	@Excel(name = "专业名称")
 	@ApiModelProperty("专业名称")
-	private Long categoryName;
+	private String categoryName;
 
 	/** 考试日期 */
 	@Excel(name = "考试日期")
@@ -143,5 +143,8 @@ public class MockApplyVo {
 	/** 结束时间 */
 	@Excel(name = "结束时间")
 	@ApiModelProperty("结束时间")
-	private String endTime;
+	private String endTime;/** 结束时间 */
+	@Excel(name = "开考限制时间")
+	@ApiModelProperty("开考限制时间")
+	private String timeLimit;
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserMockSubscribeVo.java

@@ -117,4 +117,9 @@ public class UserMockSubscribeVo {
 	@Excel(name = "科目名字")
 	@ApiModelProperty("科目名字")
 	private String subjectName;
+
+	/** 开考限制时间 */
+	@Excel(name = "开考限制时间")
+	@ApiModelProperty("开考限制时间")
+	private String timeLimit;
 }

+ 13 - 3
zhongzheng-system/src/main/resources/mapper/modules/mock/MockApplyMapper.xml

@@ -65,10 +65,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="listApply" parameterType="com.zhongzheng.modules.mock.bo.MockApplyQueryBo" resultMap="MockApplyVoResult">
         SELECT 	ma.*,
                 cet.education_name,
-                cb.business_name
+                cb.business_name,
+                cpt.project_name
         FROM mock_apply ma
-                 LEFT JOIN course_education_type cet ON ma.education_type_id = cet.id
-                 LEFT JOIN course_business cb ON ma.business_id = cb.id
+                LEFT JOIN course_education_type cet ON ma.education_type_id = cet.id
+                LEFT JOIN course_business cb ON ma.business_id = cb.id
+                LEFT JOIN course_project_type cpt ON ma.project_id = cpt.id
+        WHERE
+            1=1
+        <if test="status != null and status.size()!=0 ">
+            AND ma.status in
+            <foreach collection="status" item="item" index="index" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
     </select>
     <select id="queryApplyList" parameterType="com.zhongzheng.modules.mock.bo.MockApplyQueryBo" resultMap="MockApplyVoResult">
         SELECT	ma.business_id,

+ 11 - 9
zhongzheng-system/src/main/resources/mapper/modules/user/UserMockSubscribeMapper.xml

@@ -45,18 +45,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="categoryName" column="category_name"/>
         <result property="subjectId" column="subject_id"/>
         <result property="subjectName" column="subject_name"/>
+        <result property="timeLimit" column="time_limit"/>
     </resultMap>
     <select id="getInfo" parameterType="java.lang.Long" resultMap="UserMockSubscribeVoResult">
         SELECT 	ums.*,
-                  ma.apply_name,
-                  ma.education_type_id,
-                  cet.education_name,
-                  ma.business_id,
-                  cb.business_name,
-                  mm.major_id,
-                  m.category_name,
-                  mms.subject_id,
-                  cs.subject_name
+                ma.apply_name,
+                ma.education_type_id,
+                cet.education_name,
+                ma.business_id,
+                cb.business_name,
+                mm.major_id,
+                m.category_name,
+                mms.subject_id,
+                cs.subject_name,
+                ma.time_limit
         FROM user_mock_subscribe ums
                  LEFT JOIN mock_apply ma ON ums.apply_id = ma.apply_id
                  LEFT JOIN course_education_type cet ON ma.education_type_id = cet.id