소스 검색

fix 模考预约业务层级显示

tanzh 3 년 전
부모
커밋
d1c4223443

+ 18 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/mock/MockApplyController.java

@@ -5,12 +5,15 @@ import com.zhongzheng.common.core.controller.BaseController;
 import com.zhongzheng.common.core.domain.AjaxResult;
 import com.zhongzheng.common.core.page.TableDataInfo;
 import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.framework.web.service.WxTokenService;
 import com.zhongzheng.modules.mock.bo.MockApplyAddBo;
 import com.zhongzheng.modules.mock.bo.MockApplyEditBo;
 import com.zhongzheng.modules.mock.bo.MockApplyQueryBo;
 import com.zhongzheng.modules.mock.service.IMockApplyService;
 import com.zhongzheng.modules.mock.vo.MockApplyVo;
+import com.zhongzheng.modules.user.entity.ClientLoginUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -35,6 +38,8 @@ public class MockApplyController extends BaseController {
 
     private final IMockApplyService iMockApplyService;
 
+    private final WxTokenService wxTokenService;
+
     /**
      * 查询模考安排列表
      */
@@ -115,4 +120,17 @@ public class MockApplyController extends BaseController {
         return getDataTable(list);
     }
 
+    /**
+     * 查询模考预约业务层次列表
+     */
+    @ApiOperation("查询模考预约业务层次列表")
+    @PreAuthorize("@ss.hasPermi('system:apply:list')")
+    @GetMapping("/listApplyBusiness")
+    public TableDataInfo<MockApplyVo> listApplyBusiness(MockApplyQueryBo bo) {
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        List<MockApplyVo> list = iMockApplyService.listApplyBusiness(bo);
+        return getDataTable(list);
+    }
+
 }

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/bo/MockApplyQueryBo.java

@@ -76,4 +76,16 @@ public class MockApplyQueryBo extends BaseEntity {
 	/** 开考限制时间 */
 	@ApiModelProperty("开考限制时间")
 	private Long timeLimit;
+
+	/** 开始时间 */
+	@ApiModelProperty("开始时间")
+	private Long startTime;
+
+	/** 结束时间 */
+	@ApiModelProperty("结束时间")
+	private Long endTime;
+
+	/** 学员ID */
+	@ApiModelProperty("学员ID")
+	private Long userId;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/mapper/MockApplyMapper.java

@@ -21,4 +21,6 @@ public interface MockApplyMapper extends BaseMapper<MockApply> {
     List<MockApplyVo> listApply(MockApplyQueryBo bo);
 
     List<MockApplyVo> queryApplyList(MockApplyQueryBo bo);
+
+    List<MockApplyVo> listApplyBusiness(MockApplyQueryBo bo);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/service/IMockApplyService.java

@@ -57,4 +57,6 @@ public interface IMockApplyService extends IService<MockApply> {
 	List<MockApplyVo> queryApplyList(MockApplyQueryBo bo);
 
 	MockApplyVo queryByApplyId(Long applyId);
+
+	List<MockApplyVo> listApplyBusiness(MockApplyQueryBo bo);
 }

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/mock/service/impl/MockApplyServiceImpl.java

@@ -372,4 +372,9 @@ public class MockApplyServiceImpl extends ServiceImpl<MockApplyMapper, MockApply
         }
         return mockApplyVo;
     }
+
+    @Override
+    public List<MockApplyVo> listApplyBusiness(MockApplyQueryBo bo) {
+        return baseMapper.listApplyBusiness(bo);
+    }
 }

+ 39 - 0
zhongzheng-system/src/main/resources/mapper/modules/mock/MockApplyMapper.xml

@@ -115,6 +115,45 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
         ORDER BY mmst.exam_time
     </select>
+    <select id="listApplyBusiness" resultType="com.zhongzheng.modules.mock.vo.MockApplyVo">
+        SELECT  a.business_id,a.business_name,a.project_id,a.project_name FROM
+            (SELECT DISTINCT
+                 ma.business_id,
+                 cb.business_name,
+                 ma.project_id,
+                 cpt.project_name
+             FROM mock_apply ma
+                      LEFT JOIN course_project_type cpt ON ma.project_id = cpt.id
+                      LEFT JOIN course_business cb ON ma.business_id = cb.id
+                      LEFT JOIN mock_major mm ON ma.apply_id = mm.apply_id
+                      LEFT JOIN mock_major_subject mms ON mm.mock_major_id = mms.mock_major_id
+                      LEFT JOIN mock_major_subject_time mmst ON mms.mock_major_subject_id = mmst.id
+             WHERE 1=1
+        <if test="startTime != null and startTime != ''">
+            and mmst.exam_time &gt; #{startTime}
+        </if>
+        <if test="endTime != null and endTime != ''">
+            and mmst.exam_time &lt; #{endTime}
+        </if>
+             UNION ALL
+             SELECT 	DISTINCT
+                 g.business_id,
+                 cb.business_name,
+                 g.project_id,
+                 cpt.project_name
+             FROM `order` o
+                      LEFT JOIN order_goods og ON o.order_sn = og.order_sn
+                      LEFT JOIN goods g ON og.goods_id = g.goods_id
+                      LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
+                      LEFT JOIN course_business cb ON g.business_id = cb.id
+             WHERE 1=1
+        <if test="userId != null and userId != ''">
+            and o.user_id = #{userId}
+        </if>
+                 ) a
+        GROUP BY a.business_id,a.business_name,a.project_id,a.project_name
+        HAVING COUNT(a.project_id)=2
+    </select>
 
 
 </mapper>