Browse Source

优化教材征订记录出参数

phoenix 1 year ago
parent
commit
ac9c9c8a77

+ 8 - 0
src/main/java/com/xjrsoft/module/textbook/mapper/TextbookMapper.java

@@ -41,6 +41,14 @@ public interface TextbookMapper extends MPJBaseMapper<Textbook> {
      */
     List<TextbookSubscriptionRecordVo> subscriptionList(Long id);
 
+    /**
+     * 作业本征订记录
+     *
+     * @param id
+     * @return
+     */
+    List<TextbookSubscriptionRecordVo> exerciseBookSubscriptionList(Long id);
+
 
     /**
      * 查询征订记录中的使用班级

+ 41 - 21
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookServiceImpl.java

@@ -394,31 +394,51 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
 
     @Override
     public List<TextbookSubscriptionRecordVo> subscriptionList(Long id) {
-        List<TextbookSubscriptionRecordVo> recordVos = textbookTextbookMapper.subscriptionList(id);
-        for (TextbookSubscriptionRecordVo recordVo : recordVos) {
-            if (ObjectUtil.isNull(recordVo) || StrUtil.isEmpty(recordVo.getClassIds())) {
-                recordVos.remove(recordVo);
-                if(recordVos.isEmpty()){
-                    break;
-                }
-                continue;
-            }
-            String[] split = recordVo.getClassIds().split(",");
-            List<String> ids = new ArrayList<>();
-            for (String classId : split) {
-                ids.add(classId.trim());
+        Textbook textbook = this.getById(id);
+        List<TextbookSubscriptionRecordVo> recordVos = new ArrayList<>();
+        //是作业本
+        if(textbook.getTextbookType().equals(TextbookTypeEnum.TExerciseBook.getCode())){
+            recordVos = textbookTextbookMapper.exerciseBookSubscriptionList(id);
+            for (TextbookSubscriptionRecordVo recordVo : recordVos) {
+                recordVo.setIssn("/");
+                recordVo.setPublishingHouse("/");
+                recordVo.setEditorInChief("/");
+                recordVo.setIsTextbookPlanCn("/");
+                recordVo.setCourseName("/");
+                recordVo.setGroupName("/");
+                recordVo.setTeacherSubscriptionNumber(0);
+                recordVo.setTeacherFeferenceNumber(0);
             }
-            List<TextbookSubscriptionClassVo> classInfo = textbookTextbookMapper.getClassInfo(ids);
-            String useClass = "";
-            for (int i = 0; i < classInfo.size(); i++) {
-                if (i >= 1) {
-                    useClass += ",";
+        }
+        //是教材或者教辅
+        if (textbook.getTextbookType().equals(TextbookTypeEnum.TTextbook.getCode()) || textbook.getTextbookType().equals(TextbookTypeEnum.TMaterials.getCode())){
+            recordVos = textbookTextbookMapper.subscriptionList(id);
+            for (TextbookSubscriptionRecordVo recordVo : recordVos) {
+                if (ObjectUtil.isNull(recordVo) || StrUtil.isEmpty(recordVo.getClassIds())) {
+                    recordVos.remove(recordVo);
+                    if(recordVos.isEmpty()){
+                        break;
+                    }
+                    continue;
                 }
-                TextbookSubscriptionClassVo classVo = classInfo.get(i);
-                useClass += classVo.getName();
+                String[] split = recordVo.getClassIds().split(",");
+                List<String> ids = new ArrayList<>();
+                for (String classId : split) {
+                    ids.add(classId.trim());
+                }
+                List<TextbookSubscriptionClassVo> classInfo = textbookTextbookMapper.getClassInfo(ids);
+                String useClass = "";
+                for (int i = 0; i < classInfo.size(); i++) {
+                    if (i >= 1) {
+                        useClass += ",";
+                    }
+                    TextbookSubscriptionClassVo classVo = classInfo.get(i);
+                    useClass += classVo.getName();
+                }
+                recordVo.setUseClass(useClass);
             }
-            recordVo.setUseClass(useClass);
         }
+
         return recordVos;
     }
 

+ 22 - 1
src/main/resources/mapper/textbook/TextbookMapper.xml

@@ -65,7 +65,10 @@
                t3.teacher_reference_number,
                t7.name AS is_support_resources_cn,
                t3.version,
-               t3.class_ids
+               t3.class_ids,
+               t3.student_subscription_number,
+               t3.teacher_subscription_number,
+               t3.teacher_reference_number
         FROM textbook_subscription_record t1
                  LEFT JOIN wf_textbook_subscription t2 ON t1.wf_textbook_subscription_id = t2.id
                  LEFT JOIN wf_textbook_subscription_item t3 ON t3.wf_textbook_subscription_id = t2.id
@@ -79,6 +82,24 @@
           AND t1.textbook_id = #{id}
     </select>
 
+    <select id="exerciseBookSubscriptionList" resultType="com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo">
+        SELECT t2.create_date,
+               t4.name AS applicant_user,
+               t5.book_name,
+               t3.specifications_models,
+               t6.name as useClass,
+               t3.appraisal_price,
+               t3.subscription_number as studentSubscriptionNumber
+        FROM textbook_subscription_record t1
+                 LEFT JOIN wf_exercise_book t2 ON t1.wf_textbook_subscription_id = t2.id
+                 LEFT JOIN wf_exercise_book_item t3 ON t3.wf_exercise_book_id = t2.id
+                 LEFT JOIN xjr_user t4 ON t2.applicant_user_id = t4.id
+                 LEFT JOIN textbook t5 ON t5.id = t1.textbook_id
+                 LEFT JOIN base_class t6 ON t6.id = t2.class_id
+        WHERE t1.delete_mark = 0
+          AND t1.textbook_id = #{id}
+    </select>
+
     <select id="getClassInfo" resultType="com.xjrsoft.module.textbook.vo.TextbookSubscriptionClassVo">
         SELECT NAME FROM base_class WHERE id IN
         <foreach item="classId" index="index" collection="ids" open="(" close=")" separator=",">