Bladeren bron

fix 模考安排修改

tanzh 3 jaren geleden
bovenliggende
commit
6411ad8134

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

@@ -61,5 +61,5 @@ public class MockApplyAddBo {
 
     /** 关联专业列表 */
     @ApiModelProperty("关联专业列表")
-    private List<MockMajor> mockMajorList;
+    private List<MockMajorAddBo> mockMajorList;
 }

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

@@ -74,6 +74,6 @@ public class MockApplyEditBo {
 
     /** 关联专业列表 */
     @ApiModelProperty("关联专业列表")
-    private List<MockMajor> mockMajorList;
+    private List<MockMajorEditBo> mockMajorList;
 
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/bo/MockMajorAddBo.java

@@ -1,5 +1,6 @@
 package com.zhongzheng.modules.mock.bo;
 
+import com.zhongzheng.modules.mock.domain.MockMajorSubject;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -30,4 +31,7 @@ public class MockMajorAddBo {
     @ApiModelProperty("修改时间")
     private Long updateTime;
 
+    /** 关联科目列表 */
+    @ApiModelProperty("关联科目列表")
+    private List<MockMajorSubjectAddBo> mockMajorSubjectList;
 }

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

@@ -34,4 +34,8 @@ public class MockMajorEditBo {
     @ApiModelProperty("修改时间")
     private Long updateTime;
 
+    /** 关联科目列表 */
+    @ApiModelProperty("关联科目列表")
+    private List<MockMajorSubjectEditBo> mockMajorSubjectList;
+
 }

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

@@ -1,5 +1,7 @@
 package com.zhongzheng.modules.mock.bo;
 
+import com.zhongzheng.modules.mock.domain.MockMajorSubjectGoods;
+import com.zhongzheng.modules.mock.domain.MockMajorSubjectTime;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -36,4 +38,11 @@ public class MockMajorSubjectAddBo {
     @ApiModelProperty("更新时间")
     private Long updateTime;
 
+    /** 关联商品列表 */
+    @ApiModelProperty("关联商品列表")
+    private List<MockMajorSubjectGoodsAddBo> mockMajorSubjectGoodsList;
+
+    /** 关联时间列表 */
+    @ApiModelProperty("关联时间列表")
+    private List<MockMajorSubjectTimeAddBo> mockMajorSubjectTimeList;
 }

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

@@ -42,4 +42,11 @@ public class MockMajorSubjectEditBo {
     @ApiModelProperty("更新时间")
     private Long updateTime;
 
+    /** 关联商品列表 */
+    @ApiModelProperty("关联商品列表")
+    private List<MockMajorSubjectGoodsEditBo> mockMajorSubjectGoodsList;
+
+    /** 关联时间列表 */
+    @ApiModelProperty("关联时间列表")
+    private List<MockMajorSubjectTimeEditBo> mockMajorSubjectTimeList;
 }

+ 0 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/domain/MockMajor.java

@@ -40,8 +40,4 @@ private static final long serialVersionUID=1L;
     /** 修改时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
-
-    /** 关联科目列表 */
-    @ApiModelProperty("关联科目列表")
-    private List<MockMajorSubject> mockMajorSubjectList;
 }

+ 0 - 8
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/domain/MockMajorSubject.java

@@ -45,12 +45,4 @@ private static final long serialVersionUID=1L;
     /** 更新时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
-
-    /** 关联商品列表 */
-    @ApiModelProperty("关联商品列表")
-    private List<MockMajorSubjectGoods> mockMajorSubjectGoodsList;
-
-    /** 关联时间列表 */
-    @ApiModelProperty("关联时间列表")
-    private List<MockMajorSubjectTime> mockMajorSubjectTimeList;
 }

+ 98 - 29
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/service/impl/MockApplyServiceImpl.java

@@ -121,6 +121,7 @@ public class MockApplyServiceImpl extends ServiceImpl<MockApplyMapper, MockApply
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean insertByAddBo(MockApplyAddBo bo) {
         MockApply add = BeanUtil.toBean(bo, MockApply.class);
         validEntityBeforeSave(add);
@@ -194,35 +195,103 @@ public class MockApplyServiceImpl extends ServiceImpl<MockApplyMapper, MockApply
         validEntityBeforeSave(update);
         update.setUpdateTime(DateUtils.getNowTime());
         this.updateById(update);
-        if (BeanUtil.isNotEmpty(bo.getMockMajorList())) {
-            bo.getMockMajorList().stream().forEach(mockMajorEditBo -> {
-
-                MockMajor mockMajor = BeanUtil.toBean(mockMajorEditBo, MockMajor.class);
-                mockMajor.setUpdateTime(DateUtils.getNowTime());
-                iMockMajorService.updateById(mockMajor);
-                if (BeanUtil.isNotEmpty(mockMajorEditBo.getMockMajorSubjectList())) {
-                    mockMajorEditBo.getMockMajorSubjectList().stream().forEach(mockMajorSubjectEditBo -> {
-                        MockMajorSubject mockMajorSubject = BeanUtil.toBean(mockMajorSubjectEditBo, MockMajorSubject.class);
-                        mockMajorSubject.setUpdateTime(DateUtils.getNowTime());
-                        iMockMajorSubjectService.updateById(mockMajorSubject);
-                        if (BeanUtil.isNotEmpty(mockMajorSubjectEditBo.getMockMajorSubjectTimeList())) {
-                            mockMajorSubjectEditBo.getMockMajorSubjectTimeList().stream().forEach(mockMajorSubjectTimeEditBo -> {
-                                MockMajorSubjectTime mockMajorSubjectTime = BeanUtil.toBean(mockMajorSubjectTimeEditBo, MockMajorSubjectTime.class);
-                                mockMajorSubjectTime.setUpdateTime(DateUtils.getNowTime());
-                                iMockMajorSubjectTimeService.updateById(mockMajorSubjectTime);
+        //删除原有关联记录
+        LambdaQueryWrapper<MockMajor> lqw1 = Wrappers.lambdaQuery();
+        lqw1.eq(MockMajor::getApplyId, bo.getApplyId());
+        List<MockMajor> mockMajorList = iMockMajorService.list(lqw1);
+        if (BeanUtil.isNotEmpty(mockMajorList)) {
+            ArrayList<Long> mockMajorIds = new ArrayList<>();
+            mockMajorList.stream().forEach(mockMajor -> {
+                mockMajorIds.add(mockMajor.getMockMajorId());
+                LambdaQueryWrapper<MockMajorSubject> lqw2 = Wrappers.lambdaQuery();
+                lqw2.eq(MockMajorSubject::getMockMajorId, mockMajor.getMockMajorId());
+                List<MockMajorSubject> mockMajorSubjectList = iMockMajorSubjectService.list(lqw2);
+                if (BeanUtil.isNotEmpty(mockMajorSubjectList)) {
+                    ArrayList<Long> mockMajorSubjectIds = new ArrayList<>();
+                    mockMajorSubjectList.stream().forEach(mockMajorSubject -> {
+                        mockMajorSubjectIds.add(mockMajorSubject.getMockMajorSubjectId());
+                        LambdaQueryWrapper<MockMajorSubjectGoods> lqw3 = Wrappers.lambdaQuery();
+                        lqw3.eq(MockMajorSubjectGoods::getMockMajorSubjectId, mockMajorSubject.getMockMajorSubjectId());
+                        List<MockMajorSubjectGoods> mockMajorSubjectGoodsList = iMockMajorSubjectGoodsService.list(lqw3);
+                        if (BeanUtil.isNotEmpty(mockMajorSubjectGoodsList)) {
+                            ArrayList<Long> mockMajorSubjectGoodsIds = new ArrayList<>();
+                            mockMajorSubjectGoodsList.stream().forEach(mockMajorSubjectGoods -> {
+                                mockMajorSubjectGoodsIds.add(mockMajorSubjectGoods.getId());
                             });
+                            iMockMajorSubjectGoodsService.removeByIds(mockMajorSubjectGoodsIds);
                         }
-                        if (BeanUtil.isNotEmpty(mockMajorSubjectEditBo.getMockMajorSubjectGoodsList())) {
-                            mockMajorSubjectEditBo.getMockMajorSubjectGoodsList().stream().forEach(mockMajorSubjectGoodsEditBo -> {
-                                MockMajorSubjectGoods mockMajorSubjectGoods = BeanUtil.toBean(mockMajorSubjectGoodsEditBo, MockMajorSubjectGoods.class);
-                                mockMajorSubjectGoods.setUpdateTime(DateUtils.getNowTime());
-                                iMockMajorSubjectGoodsService.updateById(mockMajorSubjectGoods);
+                        LambdaQueryWrapper<MockMajorSubjectTime> lqw4 = Wrappers.lambdaQuery();
+                        lqw4.eq(MockMajorSubjectTime::getMockMajorSubjectId, mockMajorSubject.getMockMajorSubjectId());
+                        List<MockMajorSubjectTime> mockMajorSubjectTimeList = iMockMajorSubjectTimeService.list(lqw4);
+                        if (BeanUtil.isNotEmpty(mockMajorSubjectTimeList)) {
+                            ArrayList<Long> mockMajorSubjectTimeIds = new ArrayList<>();
+                            mockMajorSubjectTimeList.stream().forEach(mockMajorSubjectTime -> {
+                                mockMajorSubjectTimeIds.add(mockMajorSubjectTime.getId());
                             });
+                            iMockMajorSubjectTimeService.removeByIds(mockMajorSubjectTimeIds);
                         }
+                        iMockMajorSubjectService.removeByIds(mockMajorSubjectIds);
                     });
                 }
             });
+            iMockMajorService.removeByIds(mockMajorIds);
         }
+        //新增现有的数据
+        if (BeanUtil.isEmpty(bo.getMockMajorList())) {
+            throw new CustomException("专业不能为空");
+        }
+        bo.getMockMajorList().stream().forEach(mockMajorAddBo -> {
+            MockMajorAddBo bo1 = new MockMajorAddBo();
+            bo1.setApplyId(update.getApplyId());
+            bo1.setMajorId(mockMajorAddBo.getMajorId());
+            MockMajor mockMajorAdd = BeanUtil.toBean(bo1, MockMajor.class);
+            mockMajorAdd.setCreateTime(DateUtils.getNowTime());
+            mockMajorAdd.setUpdateTime(DateUtils.getNowTime());
+            iMockMajorService.save(mockMajorAdd);
+            if (BeanUtil.isEmpty(mockMajorAddBo.getMockMajorSubjectList())) {
+                throw new CustomException("科目不能为空");
+            }
+            mockMajorAddBo.getMockMajorSubjectList().stream().forEach(mockMajorSubjectAddBo -> {
+                MockMajorSubjectAddBo bo2 = new MockMajorSubjectAddBo();
+                bo2.setMockMajorId(mockMajorAdd.getMockMajorId());
+                bo2.setExamId(mockMajorSubjectAddBo.getExamId());
+                bo2.setSectionId(mockMajorSubjectAddBo.getSectionId());
+                bo2.setSubjectId(mockMajorSubjectAddBo.getSubjectId());
+                MockMajorSubject mockMajorSubjectAdd = BeanUtil.toBean(bo2, MockMajorSubject.class);
+                mockMajorSubjectAdd.setCreateTime(DateUtils.getNowTime());
+                mockMajorSubjectAdd.setUpdateTime(DateUtils.getNowTime());
+                iMockMajorSubjectService.save(mockMajorSubjectAdd);
+
+                if (BeanUtil.isNotEmpty(mockMajorSubjectAddBo.getMockMajorSubjectGoodsList())) {
+                    mockMajorSubjectAddBo.getMockMajorSubjectGoodsList().stream().forEach(mockMajorSubjectGoodsAddBo -> {
+                        MockMajorSubjectGoodsAddBo bo3 = new MockMajorSubjectGoodsAddBo();
+                        bo3.setMockMajorSubjectId(mockMajorSubjectAdd.getMockMajorSubjectId());
+                        bo3.setGoodsId(mockMajorSubjectGoodsAddBo.getGoodsId());
+                        MockMajorSubjectGoods mockMajorSubjectGoods = BeanUtil.toBean(bo3, MockMajorSubjectGoods.class);
+                        mockMajorSubjectGoods.setCreateTime(DateUtils.getNowTime());
+                        mockMajorSubjectGoods.setUpdateTime(DateUtils.getNowTime());
+                        iMockMajorSubjectGoodsService.save(mockMajorSubjectGoods);
+                    });
+                }
+                if (BeanUtil.isNotEmpty(mockMajorSubjectAddBo.getMockMajorSubjectTimeList())) {
+                    mockMajorSubjectAddBo.getMockMajorSubjectTimeList().stream().forEach(mockMajorSubjectTimeAddBo -> {
+                        MockMajorSubjectTimeAddBo bo4 = new MockMajorSubjectTimeAddBo();
+                        bo4.setMockMajorSubjectId(mockMajorSubjectAdd.getMockMajorSubjectId());
+                        try {
+                            bo4.setExamTime(formatTime(mockMajorSubjectTimeAddBo.getExamTime(), mockMajorSubjectTimeAddBo.getStartTime()));
+                        } catch (ParseException e) {
+                            e.printStackTrace();
+                        }
+                        bo4.setStartTime(mockMajorSubjectTimeAddBo.getStartTime());
+                        bo4.setEndTime(mockMajorSubjectTimeAddBo.getEndTime());
+                        MockMajorSubjectTime mockMajorSubjectTime = BeanUtil.toBean(bo4, MockMajorSubjectTime.class);
+                        mockMajorSubjectTime.setCreateTime(DateUtils.getNowTime());
+                        mockMajorSubjectTime.setUpdateTime(DateUtils.getNowTime());
+                        iMockMajorSubjectTimeService.save(mockMajorSubjectTime);
+                    });
+                }
+            });
+        });
         return true;
     }
 
@@ -298,33 +367,33 @@ public class MockApplyServiceImpl extends ServiceImpl<MockApplyMapper, MockApply
 
     @Override
     public MockApplyVo queryByApplyId(Long applyId) {
-        LambdaQueryWrapper<MockApply> lqw1 = new LambdaQueryWrapper<>();
+        LambdaQueryWrapper<MockApply> lqw1 = Wrappers.lambdaQuery();
         lqw1.eq(MockApply::getApplyId, applyId);
         MockApply mockApply = this.getOne(lqw1);
         MockApplyVo mockApplyVo = new MockApplyVo();
         BeanUtils.copyProperties(mockApply, mockApplyVo);
 
         if (BeanUtil.isNotEmpty(mockApply)) {
-            LambdaQueryWrapper<MockMajor> lqw2 = new LambdaQueryWrapper<>();
+            LambdaQueryWrapper<MockMajor> lqw2 = Wrappers.lambdaQuery();
             lqw2.eq(Validator.isNotEmpty(mockApply.getApplyId()), MockMajor::getApplyId, mockApply.getApplyId());
             List<MockMajor> mockMajorList = iMockMajorService.list(lqw2);
             List<MockMajorVo> mockMajorVoList = new ArrayList<>();
             if (BeanUtil.isNotEmpty(mockMajorList)) {
                 mockMajorList.stream().forEach(mockMajor -> {
-                    LambdaQueryWrapper<MockMajorSubject> lqw3 = new LambdaQueryWrapper<>();
+                    LambdaQueryWrapper<MockMajorSubject> lqw3 = Wrappers.lambdaQuery();
                     lqw3.eq(Validator.isNotEmpty(mockMajor.getMockMajorId()), MockMajorSubject::getMockMajorId, mockMajor.getMockMajorId());
                     List<MockMajorSubject> mockMajorSubjectList = iMockMajorSubjectService.list(lqw3);
                     List<MockMajorSubjectVo> mockMajorSubjectVoList = new ArrayList<>();
                     if (BeanUtil.isNotEmpty(mockMajorSubjectList)) {
                         mockMajorSubjectList.stream().forEach(mockMajorSubject -> {
-                            LambdaQueryWrapper<Exam> lqw4 = new LambdaQueryWrapper<>();
+                            LambdaQueryWrapper<Exam> lqw4 = Wrappers.lambdaQuery();
                             lqw4.eq(Validator.isNotEmpty(mockMajorSubject.getExamId()), Exam::getExamId, mockMajorSubject.getExamId());
                             Exam exam = iExamService.getOne(lqw4);
-                            LambdaQueryWrapper<CourseSection> lqw5 = new LambdaQueryWrapper<>();
+                            LambdaQueryWrapper<CourseSection> lqw5 = Wrappers.lambdaQuery();
                             lqw5.eq(Validator.isNotEmpty(mockMajorSubject.getSectionId()), CourseSection::getSectionId, mockMajorSubject.getSectionId());
                             CourseSection courseSection = iCourseectionService.getOne(lqw5);
 
-                            LambdaQueryWrapper<MockMajorSubjectTime> lqw6 = new LambdaQueryWrapper<>();
+                            LambdaQueryWrapper<MockMajorSubjectTime> lqw6 = Wrappers.lambdaQuery();
                             lqw6.eq(Validator.isNotEmpty(mockMajorSubject.getMockMajorSubjectId()), MockMajorSubjectTime::getMockMajorSubjectId, mockMajorSubject.getMockMajorSubjectId());
                             List<MockMajorSubjectTime> mockMajorSubjectTimeList = iMockMajorSubjectTimeService.list(lqw6);
                             List<MockMajorSubjectTimeVo> mockMajorSubjectTimeVoList = new ArrayList<>();
@@ -336,13 +405,13 @@ public class MockApplyServiceImpl extends ServiceImpl<MockApplyMapper, MockApply
                                 });
                             }
 
-                            LambdaQueryWrapper<MockMajorSubjectGoods> lqw7 = new LambdaQueryWrapper<>();
+                            LambdaQueryWrapper<MockMajorSubjectGoods> lqw7 = Wrappers.lambdaQuery();
                             lqw7.eq(Validator.isNotEmpty(mockMajorSubject.getMockMajorSubjectId()), MockMajorSubjectGoods::getMockMajorSubjectId, mockMajorSubject.getMockMajorSubjectId());
                             List<MockMajorSubjectGoods> mockMajorSubjectGoodsList = iMockMajorSubjectGoodsService.list(lqw7);
                             List<MockMajorSubjectGoodsVo> mockMajorSubjectGoodsVoList = new ArrayList<>();
                             if (BeanUtil.isNotEmpty(mockMajorSubjectGoodsList)) {
                                 mockMajorSubjectGoodsList.stream().forEach(mockMajorSubjectGoods -> {
-                                    LambdaQueryWrapper<Goods> lqw8 = new LambdaQueryWrapper<>();
+                                    LambdaQueryWrapper<Goods> lqw8 = Wrappers.lambdaQuery();
                                     lqw8.eq(Validator.isNotEmpty(mockMajorSubjectGoods.getGoodsId()), Goods::getGoodsId, mockMajorSubjectGoods.getGoodsId());
                                     Goods goods = iGoodsService.getOne(lqw8);
                                     MockMajorSubjectGoodsVo mockMajorSubjectGoodsVo = new MockMajorSubjectGoodsVo();