浏览代码

报录比

jinxia.mo 18 小时之前
父节点
当前提交
f81c582b79

+ 6 - 25
back-ui/src/views/dz/cards/index.vue

@@ -175,7 +175,7 @@
         <svg-icon icon-class="chart" class="mr-1" style="font-size: 12px" />
         结算
       </CustomButton>
-      <CustomButton color="#009688" v-hasPermi="['dz:cards:renew']" :disabled="batchDisabled" @click="handleRenew">
+      <CustomButton color="#009688" :disabled="batchDisabled" @click="handleRenew">
         <svg-icon icon-class="time" class="mr-1" style="font-size: 14px" />
         续期
       </CustomButton>
@@ -219,7 +219,6 @@ import RelateDialog from './components/RelateDialog.vue';
 import { listCards, delCards, payCard, closeCard, reopenCard, refundCard, settleCard, renewCard } from '@/api/dz/cards';
 import { CARD_STATUS, EnumCardType } from '@/common/enum';
 import { getCurrentInstance, nextTick } from 'vue';
-import { ElMessageBox } from 'element-plus';
 
 const { proxy } = getCurrentInstance();
 const {
@@ -414,29 +413,11 @@ const handleSettle = () => {
 }
 
 const handleRenew = () => {
-  // 使用 ElMessageBox.prompt 让用户输入续期天数
-  ElMessageBox.prompt('请输入续期天数', '续期', {
-    confirmButtonText: '确定',
-    cancelButtonText: '取消',
-    inputPattern: /^[1-9]\d*$/,
-    inputErrorMessage: '请输入有效的天数(大于0的整数)',
-    inputPlaceholder: '请输入续期天数,默认30天',
-    inputValue: '30', // 默认值30天
-  }).then(({ value }) => {
-    const days = value ? parseInt(value) : 30; // 如果为空,默认30天
-    if (isNaN(days) || days <= 0) {
-      proxy.$modal.msgError('请输入有效的天数(大于0的整数)');
-      return;
-    }
-    // 确认续期
-    proxy.$modal.confirm(`是否确认续期所选数据 (${ids.value.length}项) ${days}天?`).then(() => {
-      renewCard(ids.value, days).then(() => {
-        proxy.$modal.msgSuccess('续期成功')
-        getList()
-      })
+  proxy.$modal.confirm(`是否确认续费所选数据 (${ids.value.length}项) ?`).then(() => {
+    renewCard(ids.value).then(() => {
+      proxy.$modal.msgSuccess('续费成功')
+      getList()
     })
-  }).catch(() => {
-    // 用户取消输入,不做任何操作
   })
 }
 
@@ -477,7 +458,7 @@ onMounted(() => {
   // 即使没有选择省份,也调用接口获取所有数据(areaCode 为 undefined 时接口会返回所有数据)
   getSchoolList()
   getCampusList()
-
+  
   // 加载列表数据
   handleQuery()
 })

+ 6 - 0
back-ui/src/views/dz/papers/index.vue

@@ -26,6 +26,7 @@ import PaperExactIntelligent from "@/views/dz/papers/components/paper-exact-inte
 import PaperFullIntelligent from "@/views/dz/papers/components/paper-full-intelligent.vue";
 import PaperExactHand from "@/views/dz/papers/components/paper-exact-hand.vue";
 import PaperFullHand from "@/views/dz/papers/components/paper-full-hand.vue";
+import PaperRecords from "@/views/dz/papers/components/paper-records.vue";
 import {Refresh} from "@element-plus/icons-vue";
 
 const {loading} = useProvideGlobalLoading()
@@ -50,6 +51,11 @@ const tabs = ref([{
     label: '全量手动',
     page: markRaw(PaperFullHand),
     visited: false
+}, {
+    name: 'PaperRecords',
+    label: '试卷记录',
+    page: markRaw(PaperRecords),
+    visited: false
 }])
 const currentTab = ref('ExactIntelligent')
 

+ 55 - 1
ie-admin/src/main/java/com/ruoyi/web/controller/front/FrontUniversitiesController.java

@@ -73,8 +73,11 @@ public class FrontUniversitiesController extends BaseController {
         Map<String,String> map = dictTypeService.selectDictDataByType("university_stars")
                 .stream().collect(Collectors.toMap(t -> t.getDictValue(), SysDictData::getDictLabel));
         map.entrySet().stream().sorted(Map.Entry.comparingByKey());
-//                .forEachOrdered(x -> map.put(x.getKey(), x.getValue()));
         data.put("stars", map);
+        //梯队
+        Map<Integer,String> tierMap = dictTypeService.selectDictDataByType("university_tier")
+                .stream().collect(Collectors.toMap(t -> Integer.parseInt(t.getDictValue()), SysDictData::getDictLabel));
+        data.put("tier", tierMap);
         return AjaxResult.success(data);
     }
 
@@ -199,6 +202,57 @@ public class FrontUniversitiesController extends BaseController {
         return AjaxResult.success(data);
     }
 
+    /**
+     * 新接口:202560110
+     * @param code
+     * @param title
+     * @return
+     */
+    @GetMapping("getUniversityDetail")
+    @ApiOperation("12 院校详情")
+    public AjaxResult getUniversityDetail(@ApiParam("学校code") @RequestParam String code) {
+        commService.requireVip();
+        SysUser sysUser = SecurityUtils.getLoginUser().getUser();
+        UniversityDetailDTO data = universitiesService.detail(code, voluntaryService.getPlanYear(sysUser));
+        if(StringUtils.isNotEmpty(data.getBaseInfo().getStar())){
+            data.getBaseInfo().setStar(dictTypeService.getDictDataByType("university_stars",data.getBaseInfo().getStar()));
+        }
+        Long universityId = data.getBaseInfo().getId();
+        BCustomerUniversities cond = new BCustomerUniversities();
+        cond.setUniversityId(universityId);
+        cond.setCustomerCode(sysUser.getCode());
+        cond.setStatus(1L);
+        List<BCustomerUniversities> list = customerUniversitiesService.selectBCustomerUniversitiesList(cond);
+        data.getBaseInfo().setCollected(CollectionUtils.isNotEmpty(list));
+        this.saveUniversitiesClicks(code);
+
+        if(Constant.EXAM_TYPE_ZG.equals(sysUser.getExamType().title())) {
+            Integer examMajor = sysUser.getExamMajor();
+
+            BBusiWishUniversitySubmitRecruitPlan planCond = new BBusiWishUniversitySubmitRecruitPlan();
+            planCond.setUniversityId(universityId);
+            planCond.setLocation(sysUser.getLocation());
+            planCond.setLiberalScience(examMajor);
+            List<UniversityDetailDTO.WishPlan> planList = wishUniversitySubmitRecruitPlanService.selectBBusiWishUniversitySubmitRecruitPlanList(planCond).stream().map(t -> new UniversityDetailDTO.WishPlan(t)).collect(Collectors.toList());
+            data.setPlanHistories(planList);
+
+            BBusiWishUniversitySubmitMarjors submitCond = new BBusiWishUniversitySubmitMarjors();
+            submitCond.setUniversityId(universityId);
+            submitCond.setLocation(sysUser.getLocation());
+            submitCond.setLiberalScience(examMajor);
+            List<UniversityDetailDTO.WishSubmit> submitList = wishUniversitySubmitMarjorsService.selectBBusiWishUniversitySubmitMarjorsList(submitCond).stream().map(t -> new UniversityDetailDTO.WishSubmit(t)).collect(Collectors.toList());
+            data.setEnrollHistories(submitList);
+        } else if(Constant.EXAM_TYPE_PG.equals(sysUser.getExamType().title()) || Constant.EXAM_TYPE_ZZ.equals(sysUser.getExamType().title())) {
+            Pair<List<UniversityDetailDTO.WishPlan>, List<UniversityDetailDTO.WishSubmit>> pair = voluntaryService.getUniversityHistory(universityId, sysUser.getLocation(), sysUser.getExamType().title());
+            data.setPlanHistories(pair.getLeft());
+            data.setEnrollHistories(pair.getRight());
+        }
+        return AjaxResult.success(data);
+    }
+
+
+
+
     @GetMapping("getUniversitiesEnrollBrochure")
     @ApiOperation("03 招生简章")
     public TableDataInfo getUniversitiesEnrollBrochure(@ApiParam("学校code") @RequestParam String code,

+ 2 - 0
ie-admin/src/main/java/com/ruoyi/web/service/VoluntaryService.java

@@ -101,6 +101,8 @@ public class VoluntaryService {
             p.setXuezhi(String.valueOf(t.getLengthOfSchooling()));
             p.setEnrollFormula(t.getEnrollFormula());
             p.setGroupsName(t.getMajorGroup());
+            p.setAcceptanceRate(t.getAcceptanceRate());
+            p.setEnrollCount(t.getEnrollCount());
             return p;
         }).collect(Collectors.toList());
 

+ 27 - 0
ie-system/src/main/java/com/ruoyi/ie/domain/AMarjorPlan.java

@@ -116,6 +116,14 @@ public class AMarjorPlan extends BaseEntity
 
     private String enrollFormula;
 
+    /** 报录比 */
+    @Excel(name = "报录比")
+    private String acceptanceRate;
+
+    /** 报名数 */
+    @Excel(name = "报名数")
+    private Integer enrollCount;
+
     public Integer getXuefei() {
         return xuefei;
     }
@@ -351,6 +359,22 @@ public class AMarjorPlan extends BaseEntity
         this.enrollFormula = enrollFormula;
     }
 
+    public String getAcceptanceRate() {
+        return acceptanceRate;
+    }
+
+    public void setAcceptanceRate(String acceptanceRate) {
+        this.acceptanceRate = acceptanceRate;
+    }
+
+    public Integer getEnrollCount() {
+        return enrollCount;
+    }
+
+    public void setEnrollCount(Integer enrollCount) {
+        this.enrollCount = enrollCount;
+    }
+
     @Override
     public String toString() {
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -375,6 +399,9 @@ public class AMarjorPlan extends BaseEntity
             .append("comment", getComment())
             .append("company", getCompany())
             .append("test", getTest())
+            .append("enrollFormula", getEnrollFormula())
+            .append("acceptanceRate", getAcceptanceRate())
+            .append("enrollCount", getEnrollCount())
             .toString();
     }
 }

+ 6 - 0
ie-system/src/main/java/com/ruoyi/syzy/dto/UniversityDetailDTO.java

@@ -153,6 +153,12 @@ public class UniversityDetailDTO {
         private String xuezhi;
         @JsonProperty("totalRule")
         private String enrollFormula;
+        @ApiModelProperty("报录比")
+        @JsonProperty("acceptanceRate")
+        private String acceptanceRate;
+        @ApiModelProperty("报名数")
+        @JsonProperty("enrollCount")
+        private Integer enrollCount;
 
         public WishPlan(BBusiWishUniversitySubmitRecruitPlan plan) {
             BeanUtils.copyProperties(plan, this);

+ 3 - 0
ie-system/src/main/java/com/ruoyi/syzy/service/impl/BBusiWishUniversitiesServiceImpl.java

@@ -161,6 +161,8 @@ public class BBusiWishUniversitiesServiceImpl implements IBBusiWishUniversitiesS
         cond.put("examineeType", u.getExamType().title());
         cond.put("examType", examTypeData);
         cond.put("examMajor", u.getExamMajor());
+
+        /**
         List<BBusiWishUniversitiesProfession> professionList = universitiesProfessionMapper.selectEnrollPlanProfessionByCode(cond);
         //设置数量
         Map<String,Integer> codeCountMap = syMajorService.selectSyMajorByLevel(examTypeData, 3).stream().collect(Collectors.toMap(t -> t.getCode(), SyMajor::getChildCount));
@@ -170,6 +172,7 @@ public class BBusiWishUniversitiesServiceImpl implements IBBusiWishUniversitiesS
             }
         });
         data.setProfessions(professionList);
+         **/
 
         //院校重点&双一流 b_busi_wish_universities_subject
 //        Map<String,List<BBusiWishUniversitiesSubject>> subjectMap = universitiesSubjectMapper.selectBBusiWishUniversitiesSubjectList(new BBusiWishUniversitiesSubject().setCollegeCode(code)).stream().collect(Collectors.groupingBy(entity -> entity.getDataType()));

+ 11 - 1
ie-system/src/main/resources/mapper/ie/AMarjorPlanMapper.xml

@@ -31,10 +31,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="company"    column="company"    />
         <result property="test"    column="test"    />
         <result property="enrollFormula"    column="enrollFormula"    />
+        <result property="acceptanceRate"    column="acceptanceRate"    />
+        <result property="enrollCount"    column="enrollCount"    />
     </resultMap>
 
     <sql id="selectAMarjorPlanVo">
-        select id, year, universityId, universityName, level, majorGroup, majorName, majorDirection, enrollCode, majorEnrollCode, examineeType, planTotal, xuefei, lengthOfSchooling, score, culturalScore, profScore, schoolScore, chinessScore, mathScore, englishScore, custCond, comment, company, test,enrollFormula from a_marjor_plan
+        select id, year, universityId, universityName, level, majorGroup, majorName, majorDirection, enrollCode, majorEnrollCode, examineeType, planTotal, xuefei, lengthOfSchooling, score, culturalScore, profScore, schoolScore, chinessScore, mathScore, englishScore, custCond, comment, company, test, enrollFormula, acceptanceRate, enrollCount from a_marjor_plan
     </sql>
 
 
@@ -103,6 +105,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="custCond != null  and custCond != ''"> and custCond = #{custCond}</if>
             <if test="comment != null  and comment != ''"> and comment = #{comment}</if>
             <if test="company != null  and company != ''"> and company = #{company}</if>
+            <if test="acceptanceRate != null  and acceptanceRate != ''"> and acceptanceRate = #{acceptanceRate}</if>
+            <if test="enrollCount != null "> and enrollCount = #{enrollCount}</if>
         </where>
     </select>
     
@@ -150,6 +154,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="comment != null">comment,</if>
             <if test="company != null">company,</if>
             <if test="test != null">test,</if>
+            <if test="acceptanceRate != null">acceptanceRate,</if>
+            <if test="enrollCount != null">enrollCount,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="year != null">#{year},</if>
@@ -176,6 +182,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="comment != null">#{comment},</if>
             <if test="company != null">#{company},</if>
             <if test="test != null">#{test},</if>
+            <if test="acceptanceRate != null">#{acceptanceRate},</if>
+            <if test="enrollCount != null">#{enrollCount},</if>
          </trim>
     </insert>
 
@@ -206,6 +214,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="comment != null">comment = #{comment},</if>
             <if test="company != null">company = #{company},</if>
             <if test="test != null">test = #{test},</if>
+            <if test="acceptanceRate != null">acceptanceRate = #{acceptanceRate},</if>
+            <if test="enrollCount != null">enrollCount = #{enrollCount},</if>
         </trim>
         where id = #{id}
     </update>

+ 2 - 0
ie-system/src/main/resources/mapper/syzy/BBusiWishUniversitiesMapper.xml

@@ -232,6 +232,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <where>
       status>0
       <if test="id != null"> and id = #{id}</if>
+      <if test="tier != null"> and tier = #{tier}</if>
       <if test="code != null  and code != ''"> and code = #{code}</if>
       <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
       <if test="managerType != null  and managerType != ''"> and managerType = #{managerType}</if>
@@ -274,6 +275,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <where>
       status>0
       <if test="id != null"> and id = #{id}</if>
+      <if test="tier != null"> and tier = #{tier}</if>
       <if test="code != null  and code != ''"> and code = #{code}</if>
       <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
       <if test="location != null  and location != ''"> and location = #{location}</if>