zhangying 1 неделя назад
Родитель
Сommit
dfc9db7e60

+ 5 - 1
lib/数据更新脚本.txt

@@ -641,6 +641,10 @@ INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`,
 INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('007233a7-8d6e-4c31-0004-410323984d7e', 4, '预备党员', 'ssflType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', NULL, '2022-04-01 15:45:10', 'a', 'n');
 INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('007233a7-8d6e-4c31-0005-410323984d7e', 5, '正式党员', 'ssflType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', NULL, '2022-04-01 15:45:10', 'a', 'n');
 
-
+-- 2025-03-20 学习资料库外键设置错误
+ALTER TABLE dj_workresourcelibrary DROP CONSTRAINT dj_workresourcelibrary_ibfk_1;
+ALTER TABLE dj_workresourcelibrary
+ADD CONSTRAINT dj_workresourcelibrary_ibfk_1
+FOREIGN KEY (FILETYPEID) REFERENCES dj_workresourcelibrarytype(FILETYPEID);
 
 

+ 2 - 2
src/main/java/com/ghsc/partybuild/controller/CheckDataController.java

@@ -98,10 +98,10 @@ public class CheckDataController {
 
     @ResponseBody
     @PostMapping("/deleteCheckNameList")
-    public RequsetData<Integer> deleteCheckNameList(@RequestBody List<String> nameIdList) {
+    public RequsetData<Integer> deleteCheckNameList(@RequestBody Map<String, Object> data) {
         RequsetData<Integer> res = new RequsetData<>();
         res.setMsg("删除成功!");
-        res.setItem(checkDataService.deleteCheckNameList(nameIdList));
+        res.setItem(checkDataService.deleteCheckNameList((List<String>) data.get("nameIdList")));
         return res;
     }
 

+ 3 - 3
src/main/java/com/ghsc/partybuild/controller/FundsController.java

@@ -246,9 +246,9 @@ public class FundsController {
             List<Object> row = new ArrayList();
             row.add(++index);
             row.add(item.get("DZZMC"));
-            row.add(item.get("总预算"));
-            row.add(item.get("活动经费"));
-            row.add(item.get("双创经费"));
+            row.add(item.get("总预算") + "");
+            row.add(item.get("活动经费") + "");
+            row.add(item.get("双创经费") + "");
             row.add(item.get("总支出"));
             row.add(item.get("活动支出")+"("+item.get("活动支出占比")+"%"+")");
             row.add(item.get("学习教育活动")+"("+item.get("学习教育活动占比")+"%"+")");

+ 3 - 0
src/main/java/com/ghsc/partybuild/service/impl/NewsServiceImpl.java

@@ -98,6 +98,9 @@ public class NewsServiceImpl implements NewsService {
         RequsetData<String> res = new RequsetData<String>();
         int result = 0;
         XwModule item = moduleMapper.selectByPrimaryKey(model.getModuleid());
+        if (model.getParentmoduleid().equals("")) {
+            model.setParentmoduleid(null);
+        }
         if (item==null) {
             model.setModuleid(model.getModuleid());
             model.setUpdatetime(new Date());

+ 9 - 2
src/main/java/com/ghsc/partybuild/service/impl/exammanage/ExamPaperServiceImpl.java

@@ -12,6 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.sql.Clob;
+import java.sql.SQLException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -106,8 +108,13 @@ public class ExamPaperServiceImpl implements ExamPaperService {
         List<Map<String, Object>> list = this.testExamPaperCQuery.selectQuestionList(labaryidList, questiontype, content, objectivetype);
         PageInfo<Map<String, Object>> result = new PageInfo(list);
         result.getList().forEach(x -> {
-
-            x.put("ANSWERS", JSON.parseObject(JSON.toJSONString(JSON.parse(x.get("ANSWERS").toString())), List.class));
+            Clob clob = (Clob) x.get("ANSWERS");
+            String clobString = null;
+            try {
+                clobString = clob.getSubString(1, (int) clob.length());
+            } catch (SQLException e) { }
+            List answers = JSON.parseObject(clobString, List.class);
+            x.put("ANSWERS", answers);
         });
         return result;
     }

+ 2 - 2
src/main/resources/mapping/FundsCQuery.xml

@@ -138,8 +138,8 @@
         ifnull(sum(u.订阅或购买用于开展党员教育的报刊),0)/10000 订阅或购买用于开展党员教育的报刊,
         ifnull(sum(u.资料),0)/10000 资料,
         ifnull(sum(u.音像制品和设备),0)/10000 音像制品和设备,
-        ifnull(sum(u.补助生活困难的党员,0)/10000 补助生活困难的党员,
-            (ifnull(sum(u.学习教育活动),0)+ifnull(sum(u.党内主题活动),0)+ ifnull(sum(u.宣传活动),0)+ ifnull(sum(u.会议活动),0)+ ifnull(sum(u.党建日常工作),0)+ ifnull(sum(u.走访慰问活动),0)+
+        ifnull(sum(u.补助生活困难的党员),0)/10000 补助生活困难的党员,
+        (ifnull(sum(u.学习教育活动),0)+ifnull(sum(u.党内主题活动),0)+ ifnull(sum(u.宣传活动),0)+ ifnull(sum(u.会议活动),0)+ ifnull(sum(u.党建日常工作),0)+ ifnull(sum(u.走访慰问活动),0)+
         ifnull(sum(u.设备设施),0)+ ifnull(sum(u.其他),0))/10000 活动支出,
             (ifnull(sum(u.培训党员),0)+ifnull(sum(u.订阅或购买用于开展党员教育的报刊),0)+ifnull(sum(u.资料),0)+ifnull(sum(u.音像制品和设备),0)+ifnull(sum(u.补助生活困难的党员),0))/10000 双创支出
 

+ 1 - 1
src/main/resources/mapping/OnlinetestCQuery.xml

@@ -210,7 +210,7 @@
         type.OBJECTIVE_TYPE as objectiveType,
         userIns.USER_TEST_INSTANCE_ID as userInstanceId,userIns.SCORE as score,
         pq.SCORE as settingScore,
-        GROUP_CONCAT(answer.ANSWERS) as answer
+        LISTAGG(answer.ANSWERS, ',') as answer
         from TEST_ONLINETEST_MAN tu
         inner join VM_RYJBXX_ALL us on tu.USERID = us.RYBM
         inner join TEST_ONLINETEST test on tu.ONLINETEST_ID = test.ONLINETEST_ID

+ 1 - 1
src/main/resources/mapping/PartyDictionaryCQuery.xml

@@ -62,7 +62,7 @@
           union
           select 7 as TYPE,BM,HZMC,XH from zd_mzdm where HZMC in('汉族','土家族','苗族','侗族','回族','瑶族')  -- 民族
           union
-          select 7 as TYPE,group_concat(BM) as BM,'其他' as HZMC,999 as XH from zd_mzdm where HZMC not in('汉族','土家族','苗族','侗族','回族','瑶族')
+          select 7 as TYPE,LISTAGG(BM, ',') as BM,'其他' as HZMC,999 as XH from zd_mzdm where HZMC not in('汉族','土家族','苗族','侗族','回族','瑶族')
           order by TYPE,XH
     </select>
 

+ 1 - 1
src/main/resources/mapping/PartyTwoCQuery.xml

@@ -71,7 +71,7 @@
     </resultMap>
     <select id="selectDnpxxxList" resultType="java.util.HashMap">
         select p.*,dc.DICVALUE as LevelName ,hndic.DICVALUE as honourTypeName, ry.USERNAME,ry.USERID from DJ_DNPXXX p
-        left join CF_DICTIONARY dc on p.HONOURLEVEL=dc.DICKEY and dc.DICTYPEKEY='positionLevel'
+        left join CF_DICTIONARY dc on p.HONOURLEVEL=dc.DICKEY and dc.DICTYPEKEY='positionLevel' and dc.OPERATESTATE = 'M'
         left join CF_DICTIONARY hndic on p.honourType=hndic.DICKEY and hndic.DICTYPEKEY='honourType'
         left join DJ_dnpxry ry on p.ID=ry.dnpxid
         where 1=1

+ 1 - 1
src/main/resources/mapping/PartyUserCQuery.xml

@@ -314,7 +314,7 @@
         <if test="leaderTeamUserType != null">
             and userinfo.USERNAME in (select no from lw_leaderteam where leaderTeamType=#{leaderTeamUserType})
         </if>
-        order by CONVERT(us.XM USING gbk),us.RYJBXXBS
+        order by NLSSORT(us.XM, 'NLS_SORT=SCHINESE_PINYIN_M'),us.RYJBXXBS
     </select>
 
     <!--所有用户基本信息-->

+ 1 - 1
src/main/resources/mapping/PfPracticalActivityCQuery.xml

@@ -143,7 +143,7 @@
         order by ppau.create_time desc
     </select>
     <select id="findPfPracticalActivityUser" resultType="java.lang.String">
-        select GROUP_CONCAT(user_name) from pf_practical_activity_user
+        select LISTAGG(user_name, ',') from pf_practical_activity_user
         where practical_activity_id = #{practicalActivityId}
         and user_no in
         <foreach collection="userNoList" item="item" index="index" open="(" close=")" separator=",">

+ 7 - 7
src/main/resources/mapping/PublicityCQuery.xml

@@ -520,8 +520,8 @@
               , ifnull(us.startYearMonth,0) as startYearMonth
               , ifnull(us.endYearMonth,999999) as endYearMonth
               from (select dic.DICKEY as MONTH from cf_dictionary dic where dic.DICTYPEKEY='monthType') m,(
-                          select us.rybm,us.xm,ifnull(fb.partyDuesStartMonth,(cast(substr(dj.JRZGZZRQ, 1, 6) as signed))) startYearMonth,
-                          cast(substr(TO_CHAR(fb.archiveDate, 'YYYYMMDD'), 1, 6) as signed)  as endYearMonth
+                          select us.rybm,us.xm,ifnull(fb.partyDuesStartMonth,(cast(substr(dj.JRZGZZRQ, 1, 6) as INTEGER))) startYearMonth,
+                          cast(substr(TO_CHAR(fb.archiveDate, 'YYYYMMDD'), 1, 6) as INTEGER)  as endYearMonth
                           from  vm_ryjbxx_all us
                           inner join rs_ryjbxxfb fb on us.rybm = fb.rybm
                           inner join ZZ_DJXX dj on us.rybm = dj.rybm
@@ -557,7 +557,7 @@
         and pd.year = #{year}
         and pdd.month = #{month}
         and us.RYZT in ('2', '3')
-        and ifnull(fb.partyDuesStartMonth,(cast(substr(zd.JRZGZZRQ, 1, 6) as signed))) <![CDATA[ <= ]]> #{yearMonth}
+        and ifnull(fb.partyDuesStartMonth,(cast(substr(zd.JRZGZZRQ, 1, 6) as INTEGER))) <![CDATA[ <= ]]> #{yearMonth}
         and (pdd.payState is null or pdd.payState = 0)
         and upm.partyCode like concat ('',#{partyCode},'%')
         and pd.MONEY > 0
@@ -737,7 +737,7 @@
         left join (select pn.*,
         (case
         when pn.EXPIREDTIME is not null and pn.PANELCYCLE != 1 and
-        cast(TO_CHAR(sysdate(), 'YYYYMMDD') as SIGNED INTEGER)
+        cast(TO_CHAR(sysdate(), 'YYYYMMDD') as INTEGER INTEGER)
         > pn.EXPIREDTIME then 1
         else 0 end) as ISEXPIRED
         from (
@@ -844,7 +844,7 @@
         , pay.payState
         , pay.payTime
         , pay.modifyTime
-        from (select cast(concat(pd.YEAR, lpad(pdd.month, 2, '0')) as signed) as yearMonth,
+        from (select cast(concat(pd.YEAR, lpad(pdd.month, 2, '0')) as INTEGER) as yearMonth,
              pd.year,
              pdd.month,
              pd.USERCODE,
@@ -889,7 +889,7 @@
         CREATEUSERID, CREATEUSERNAME, UPDATETIME,
         UPDATEUSERID, UPDATEUSERNAME, OPERATETIME,
         OPERATESTATE, SYNCSTATE)
-        select uuid()
+        select NEWID()
         , #{year}
         , us.XM
         , us.RYBM
@@ -929,7 +929,7 @@
                                          OPERATESTATE, SYNCSTATE, REMARKS,
                                          SPECIALEXPENSES, PARTYCODE, payState
         )
-        select uuid(),pd.PARTYDUESID,pd.mtype,null,null,sysdate(),
+        select NEWID(),pd.PARTYDUESID,pd.mtype,null,null,sysdate(),
                null,null,null,null,null,
                sysdate(),'A','N',null,null,null,null
         from (select pd.PARTYDUESID,pd.YEAR,pd.USERCODE,pd.USERNAME,

+ 41 - 26
src/main/resources/mapping/TestExamPaperCQuery.xml

@@ -57,41 +57,56 @@
         order by tp.diplay_order
     </select>
     <select id="selectTakeQuestions" resultType="java.util.HashMap" useCache="false">
-        SELECT ques.*,tp.NAME,dc.DICVALUE as DIFFICULTYNAME ,tp.OBJECTIVE_TYPE,tp.DIPLAY_ORDER, tp.SCORE,concat('[',qans.answers,']') ANSWERS FROM (
-        SELECT T.*, (ROW_NUMBER() over (PARTITION BY T.BASE_QUESTION_TYPE_ID ORDER BY BASE_QUESTION_TYPE_ID)) RN FROM
-        (select TEST_QUESTION_ID, BASE_QUESTION_TYPE_ID, CONTENT, NOTE, IS_VAILD, CREATETIME, CREATEUSERID, CREATEUSERNAME, UPDATETIME, UPDATEUSERID, UPDATEUSERNAME, DIFFICULTY from TEST_QUESTION qs ORDER BY RAND()) T
-        where T.IS_VAILD=1 and t.TEST_QUESTION_ID in(select tl.TEST_QUESTION_ID from TEST_QUESTION_LIBARY_QUESTION tl
-        where 1=1
-        <if test="labaryidList !=null">
-            and tl.TEST_QUESTION_LIBARY_ID
-            <foreach collection="labaryidList" item="id" open="in (" close=")" separator=",">
-                #{ id }
+        SELECT ques.*, tp.NAME, dc.DICVALUE AS DIFFICULTYNAME,
+        tp.OBJECTIVE_TYPE, tp.DIPLAY_ORDER, tp.SCORE,
+        CONCAT('[', qans.answers, ']') AS ANSWERS
+        FROM (
+        SELECT temp.*
+        FROM (
+        SELECT T.*,
+        ROW_NUMBER() OVER (PARTITION BY T.BASE_QUESTION_TYPE_ID ORDER BY T.BASE_QUESTION_TYPE_ID) AS RN
+        FROM (
+        SELECT TEST_QUESTION_ID, BASE_QUESTION_TYPE_ID, CONTENT, NOTE, IS_VAILD, CREATETIME, CREATEUSERID, CREATEUSERNAME, UPDATETIME, UPDATEUSERID, UPDATEUSERNAME, DIFFICULTY
+        FROM TEST_QUESTION
+        WHERE IS_VAILD = 1
+        AND TEST_QUESTION_ID IN (
+        SELECT tl.TEST_QUESTION_ID
+        FROM TEST_QUESTION_LIBARY_QUESTION tl
+        WHERE 1=1
+        <if test="labaryidList != null and !labaryidList.isEmpty()">
+            AND tl.TEST_QUESTION_LIBARY_ID
+            <foreach collection="labaryidList" item="id" open="IN (" close=")" separator=",">
+                #{id}
             </foreach>
         </if>
         )
-        <if test="difficultyList !=null">
-            and T.difficulty
-            <foreach collection="difficultyList" item="diff" open="in (" close=")" separator=",">
-                #{ diff }
+        <if test="difficultyList != null and !difficultyList.isEmpty()">
+            AND T.DIFFICULTY
+            <foreach collection="difficultyList" item="diff" open="IN (" close=")" separator=",">
+                #{diff}
             </foreach>
         </if>
+        ORDER BY RAND()
+        ) T
+        ) temp
         ) ques
-        left join TEST_BASE_QUESTION_TYPE tp on ques.BASE_QUESTION_TYPE_ID=tp.BASE_QUESTION_TYPE_ID
-        left join CF_DICTIONARY dc on dc.DICTYPEKEY ='QuestionDifficulty' and ques.difficulty=dc.DICKEY
-        left join (
-        select TEST_QUESTION_ID, wm_concat(
-        '{"ANSWER_NAME":"' || ans.ANSWER_NAME || '","ORDER":' || ans.orderBy || ',"ISRIGHT":' || nvl(ans.ISRIGHT, 0) || '}'
-        )
-        as
-        answers
-        from test_question_provid_answer ans
-        group by ans.TEST_QUESTION_ID
-        ) qans on ques.TEST_QUESTION_ID=qans.TEST_QUESTION_ID
+        LEFT JOIN TEST_BASE_QUESTION_TYPE tp ON ques.BASE_QUESTION_TYPE_ID = tp.BASE_QUESTION_TYPE_ID
+        LEFT JOIN CF_DICTIONARY dc ON dc.DICTYPEKEY = 'QuestionDifficulty' AND ques.DIFFICULTY = dc.DICKEY
+        LEFT JOIN (
+        SELECT TEST_QUESTION_ID,
+        LISTAGG(
+        '{"ANSWER_NAME":"' || ans.ANSWER_NAME || '","ORDER":' || ans.orderBy || ',"ISRIGHT":' || NVL(ans.ISRIGHT, 0) || '}',
+        ','
+        ) WITHIN GROUP (ORDER BY ans.orderBy) AS answers
+        FROM test_question_provid_answer ans
+        GROUP BY ans.TEST_QUESTION_ID
+        ) qans ON ques.TEST_QUESTION_ID = qans.TEST_QUESTION_ID
         WHERE 1=2
-        <foreach collection="typeList" item="it" open="or (" close=")" separator="or">
-            (rn <![CDATA[ <= ]]> #{it.QUESTION_NUM} and ques.BASE_QUESTION_TYPE_ID=#{ it.BASE_QUESTION_TYPE_ID })
+        <foreach collection="typeList" item="it" open="OR (" close=")" separator="OR">
+            (ques.RN &lt;= #{it.QUESTION_NUM} AND ques.BASE_QUESTION_TYPE_ID = #{it.BASE_QUESTION_TYPE_ID})
         </foreach>
     </select>
+
     <select id="selectQuestionList" resultType="java.util.HashMap">
         select TS.TEST_QUESTION_ID, TS.BASE_QUESTION_TYPE_ID, TS.CONTENT, TS.NOTE, TS.IS_VAILD, TS.CREATETIME,
         TS.CREATEUSERID, TS.CREATEUSERNAME, TS.UPDATETIME, TS.UPDATEUSERID, TS.UPDATEUSERNAME, TS.DIFFICULTY,dc.DICVALUE as DIFFICULTYNAME,tp.NAME,tp.OBJECTIVE_TYPE,tp.DIPLAY_ORDER, tp.SCORE,concat('[',qans.answers,']') ANSWERS

+ 67 - 41
src/main/resources/mapping/TestExamTestCquery.xml

@@ -2,45 +2,67 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ghsc.partybuild.mapper.TestExamTestCQuery">
     <select id="selectePracticeQuestions" resultType="java.util.HashMap">
+        SELECT * FROM (
+        SELECT ROW_NUMBER() OVER (ORDER BY DBMS_RANDOM.VALUE) AS row_num,
+        ques.TEST_QUESTION_ID,
+        ques.BASE_QUESTION_TYPE_ID,
+        ques.CONTENT,
+        ques.NOTE,
+        ques.IS_VAILD,
+        ques.CREATETIME,
+        ques.CREATEUSERID,
+        ques.CREATEUSERNAME,
+        ques.UPDATETIME,
+        ques.UPDATEUSERID,
+        ques.UPDATEUSERNAME,
+        ques.DIFFICULTY,
+        tp.NAME,
+        tp.OBJECTIVE_TYPE,
+        tp.SCORE,
+        '[' || qans.answers || ']' AS ANSWERS
+        FROM TEST_QUESTION ques
+        INNER JOIN TEST_BASE_QUESTION_TYPE tp
+        ON ques.BASE_QUESTION_TYPE_ID = tp.BASE_QUESTION_TYPE_ID
+        INNER JOIN (
+        SELECT TEST_QUESTION_ID,
+        LISTAGG(
+        '{"PROVID_ANSWER_ID":"' || ans.provid_answer_id || '","ANSWER_NAME":"' || ans.ANSWER_NAME || '","ORDER":' || ans.orderBy || ',"ISRIGHT":' || NVL(ans.ISRIGHT, 0) || '}',
+        ','
+        ) WITHIN GROUP (ORDER BY ans.orderBy) AS answers
+        FROM test_question_provid_answer ans
+        GROUP BY ans.TEST_QUESTION_ID
+        ) qans
+        ON ques.TEST_QUESTION_ID = qans.TEST_QUESTION_ID
+        WHERE ques.TEST_QUESTION_ID IN (
+        SELECT tl.TEST_QUESTION_ID
+        FROM TEST_QUESTION_LIBARY_QUESTION tl
+        WHERE tl.TEST_QUESTION_LIBARY_ID IN (
+        WITH RECURSIVE libary_cte(TEST_QUESTION_LIBARY_ID) AS (
+        SELECT a.TEST_QUESTION_LIBARY_ID
+        FROM TEST_QUESTION_LIBARY a
+        WHERE a.TEST_QUESTION_LIBARY_ID
+        <foreach collection="labaryidList" item="id" open="in (" close=")" separator=",">
+            #{ id }
+        </foreach>
+        UNION ALL
+        SELECT e.TEST_QUESTION_LIBARY_ID
+        FROM TEST_QUESTION_LIBARY e
+        INNER JOIN libary_cte lcte
+        ON lcte.TEST_QUESTION_LIBARY_ID = e.PARENT_ID
+        )
+        SELECT TEST_QUESTION_LIBARY_ID FROM libary_cte
+        )
+        )
+        AND ques.BASE_QUESTION_TYPE_ID
+        <foreach collection="typeList" item="id" open="in (" close=")" separator=",">
+            #{ id }
+        </foreach>
+        ORDER BY DBMS_RANDOM.VALUE
+        ) rs
+        WHERE row_num <![CDATA[ <= ]]> #{ questionnumber }
+    </select>
 
-        select * from (
-            SELECT ROW_NUMBER() OVER (ORDER BY RAND()) AS row_num, ques.TEST_QUESTION_ID, ques.BASE_QUESTION_TYPE_ID, ques.CONTENT, ques.NOTE, ques.IS_VAILD, ques.CREATETIME,
-        ques.CREATEUSERID, ques.CREATEUSERNAME, ques.UPDATETIME, ques.UPDATEUSERID, ques.UPDATEUSERNAME, ques.DIFFICULTY,
-                   tp.NAME ,tp.OBJECTIVE_TYPE, tp.SCORE,concat('[',qans.answers,']') ANSWERS FROM TEST_QUESTION ques
 
-            inner join TEST_BASE_QUESTION_TYPE tp on ques.BASE_QUESTION_TYPE_ID=tp.BASE_QUESTION_TYPE_ID
-            inner join (
-            select TEST_QUESTION_ID, GROUP_CONCAT(
-        concat('{"PROVID_ANSWER_ID":"',ans.provid_answer_id,'","ANSWER_NAME":"' , ans.ANSWER_NAME , '","ORDER":' ,
-            ans.orderBy , ',"ISRIGHT":' , ifnull(ans.ISRIGHT,0) , '}')) as
-            answers
-            from test_question_provid_answer ans
-            group by ans.TEST_QUESTION_ID
-            order by ans.orderBy
-            ) qans on ques.TEST_QUESTION_ID=qans.TEST_QUESTION_ID
-            where ques.TEST_QUESTION_ID in(select tl.TEST_QUESTION_ID from TEST_QUESTION_LIBARY_QUESTION tl where
-            tl.TEST_QUESTION_LIBARY_ID in(
-                WITH RECURSIVE libary_cte AS (
-                SELECT a.TEST_QUESTION_LIBARY_ID
-                FROM TEST_QUESTION_LIBARY a
-                  where  a.TEST_QUESTION_LIBARY_ID
-                <foreach collection="labaryidList" item="id" open="in (" close=")" separator=",">
-                    #{ id }
-                </foreach>
-                UNION ALL
-                SELECT e.TEST_QUESTION_LIBARY_ID
-                FROM TEST_QUESTION_LIBARY e
-                INNER JOIN libary_cte lcte ON lcte.TEST_QUESTION_LIBARY_ID = e.PARENT_ID
-                )
-                select *from libary_cte
-            )  )
-            and ques.BASE_QUESTION_TYPE_ID
-            <foreach collection="typeList" item="id" open="in (" close=")" separator=",">
-                #{ id }
-            </foreach>
-            ORDER BY RAND()
-        ) rs where   row_num <![CDATA[ <= ]]> #{ questionnumber }
-    </select>
     <select id="selecteUserTestPaperQuestions" resultType="java.util.HashMap">
         select TS.TEST_QUESTION_ID, TS.BASE_QUESTION_TYPE_ID, TS.CONTENT, TS.NOTE, TS.IS_VAILD, TS.CREATETIME,
                TS.CREATEUSERID, TS.CREATEUSERNAME, TS.UPDATETIME, TS.UPDATEUSERID, TS.UPDATEUSERNAME, TS.DIFFICULTY,tp.NAME,tp.OBJECTIVE_TYPE, pqset.SCORE,
@@ -49,14 +71,18 @@
                 inner join TEST_QUESTION ts on pqset.test_question_Id=ts.test_question_Id
                 inner join TEST_BASE_QUESTION_TYPE tp on ts.BASE_QUESTION_TYPE_ID=tp.BASE_QUESTION_TYPE_ID
                 inner join (
-          select TEST_QUESTION_ID, GROUP_CONCAT(
-                  concat('{"PROVID_ANSWER_ID":"',ans.provid_answer_id,'","ANSWER_NAME":"' , ans.ANSWER_NAME , '","ORDER":' , ans.orderBy , ',"ISRIGHT":' , ifnull(ans.ISRIGHT,0) , '}')) as answers
+          select TEST_QUESTION_ID, LISTAGG(
+                      '{"PROVID_ANSWER_ID":"' || ans.provid_answer_id || '","ANSWER_NAME":"' || ans.ANSWER_NAME || '","ORDER":' || ans.orderBy || ',"ISRIGHT":' || NVL(ans.ISRIGHT, 0) || '}',
+                      ','
+              ) WITHIN GROUP (ORDER BY ans.orderBy) AS answers
           from test_question_provid_answer ans
           group by ans.TEST_QUESTION_ID
         ) qans on ts.TEST_QUESTION_ID=qans.TEST_QUESTION_ID
         left join (
-                                               select TEST_QUESTION_ID, GROUP_CONCAT(
-                                                       concat('{"useranswers":"' , ua.answers , '","ordber_by":' , ua.ordber_by ,  '}')) as useranswers
+                                               select TEST_QUESTION_ID, LISTAGG(
+                                                           '{"useranswers":"' || ua.answers || '","ordber_by":' || ua.ordber_by || '}',
+                                                           ','
+                                                   ) WITHIN GROUP (ORDER BY ua.ordber_by) AS useranswers
                                                from test_user_testinstance ut
                                                 inner join test_onlinetest_man man on ut.ONLINE_TESTMAN_ID=man.ONLINE_TESTMAN_ID
                                                inner join test_user_testinstance_answer ua on ut.user_test_instance_id =ua.user_test_instance_id

+ 9 - 9
src/main/resources/mapping/ZzLearningmeetingCQuery.xml

@@ -4,8 +4,8 @@
     <select id="selectLearningmeetingList" resultType="java.util.HashMap">
         select
           lm.*, zz.dzzmc,
-          (select group_concat(us.username) from zz_learningmeetingusers us  where us.meetingId=lm.meetingId and us.usertype=1 )as recordUserNames,
-          (select group_concat(us.username) from zz_learningmeetingusers us  where us.meetingId=lm.meetingId and us.usertype=3 )as attendUserNames
+          (select LISTAGG(us.username, ',') from zz_learningmeetingusers us  where us.meetingId=lm.meetingId and us.usertype=1 )as recordUserNames,
+          (select LISTAGG(us.username, ',') from zz_learningmeetingusers us  where us.meetingId=lm.meetingId and us.usertype=3 )as attendUserNames
         from zz_learningmeeting lm
         inner join ZZ_ZZQKXX zz on lm.dzzdm=zz.DZZDM
         where 1=1
@@ -22,10 +22,10 @@
             and lm.location like concat('%',#{location},'%')
         </if>
         <if test="beginTime != null and beginTime != '' ">
-            and meetingDate <![CDATA[ >= ]]> date_format(#{beginTime},"%Y%m%d")
+            and meetingDate <![CDATA[ >= ]]> TO_CHAR(#{beginTime},"YYYYMMDD")
         </if>
         <if test="endTime != null and endTime != '' ">
-            and meetingDate <![CDATA[ < ]]> date_add(date_format(#{endTime},'%Y%m%d'),interval 1 day)
+            and meetingDate <![CDATA[ < ]]> date_add(TO_CHAR(#{endTime},'YYYYMMDD'),interval 1 day)
         </if>
         order by lm.meetingDate desc
     </select>
@@ -88,7 +88,7 @@
                              sum(CASE month(meetingDate) WHEN '12' THEN 1 ELSE 0 END) AS "m12",
                              sum(CASE WHEN 1 = 1 THEN 1 ELSE 0 END)                   AS "yearTotal"
                       from zz_learningmeeting lm
-                      where date_format(lm.meetingDate, '%Y') = #{year}
+                      where TO_CHAR(lm.meetingDate, 'YYYY') = #{year}
                       group by dzzdm
                )mettings on mettings.DZZDM  like concat('',p.DZZDM,'%')
                group by p.DZZDM
@@ -103,8 +103,8 @@
     <select id="selectAttendLearningmeetingList" resultType="java.util.HashMap">
         select
         lm.*, zz.dzzmc,
-        (select group_concat(us.username) from zz_learningmeetingusers us  where us.meetingId=lm.meetingId and us.usertype=1 )as recordUserNames,
-        (select group_concat(us.username) from zz_learningmeetingusers us  where us.meetingId=lm.meetingId and us.usertype=3 )as attendUserNames
+        (select LISTAGG(us.username, ',') from zz_learningmeetingusers us  where us.meetingId=lm.meetingId and us.usertype=1 )as recordUserNames,
+        (select LISTAGG(us.username, ',') from zz_learningmeetingusers us  where us.meetingId=lm.meetingId and us.usertype=3 )as attendUserNames
         from zz_learningmeeting lm
         inner join ZZ_ZZQKXX zz on lm.dzzdm=zz.DZZDM
         where 1=1
@@ -112,10 +112,10 @@
             and  lm.meetingId in(select meetingId from zz_learningmeetingusers us where us.userid =#{attendUserid} and us.usertype=1)
         </if>
         <if test="day != null and day != '' ">
-            and date_format(lm.meetingDate,'%Y-%m-%d') = #{day}
+            and TO_CHAR(lm.meetingDate,'YYYY-MM-DD') = #{day}
         </if>
         <if test="beginTime != null and beginTime != '' ">
-            and meetingDate <![CDATA[ >= ]]> date_format(#{beginTime},"%Y%m%d")
+            and meetingDate <![CDATA[ >= ]]> TO_CHAR(#{beginTime},'YYYYMMDD')
         </if>
         order by lm.meetingDate desc
     </select>

+ 1 - 1
src/main/resources/static/app/main/newsMgr/module/manage.js

@@ -287,7 +287,7 @@
             $scope.hasPermission.show = true;
             $scope.newMenu = {
                 moduleid: $uuid.getUUID(),
-                parentmenuid: "",
+                parentmenuid: null, // 顶级目录默认取NULL
                 menuorder: "",
                 menuname: "",
                 menudesc: "",