Bladeren bron

Merge remote-tracking branch 'origin/dev' into dev

大数据与最优化研究所 11 maanden geleden
bovenliggende
commit
39d69bf504

+ 33 - 11
src/main/java/com/xjrsoft/module/assessment/service/impl/AssessmentTemplatePlanServiceImpl.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.common.enums.ArchivesStatusEnum;
 import com.xjrsoft.common.enums.AssessQuestionTypeEnum;
 import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.common.utils.VoToColumnUtil;
@@ -551,33 +552,54 @@ public class AssessmentTemplatePlanServiceImpl extends MPJBaseServiceImpl<Assess
 
     @Override
     public Boolean sendMsg(AssessmentTemplatePlanSureDto dto) {
+        Long teacherId = null;
+        List<String> roleList = StpUtil.getRoleList();
+        if(roleList.size() == 2 && roleList.contains("TEACHER") && roleList.contains("CLASSTE")){
+            teacherId = StpUtil.getLoginIdAsLong();
+        }
         //先查询班上的所有学生
         MPJLambdaWrapper<XjrUser> queryWrapper = new MPJLambdaWrapper<>();
         queryWrapper
                 .select(XjrUser.class, x -> VoToColumnUtil.fieldsToColumns(XjrUser.class).contains(x.getProperty()))
                 .innerJoin(AssessmentPlanAnswerStudent.class, AssessmentPlanAnswerStudent::getStudentUserId,XjrUser::getId)
                 .innerJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId,XjrUser::getId)
-                .eq(BaseStudentSchoolRoll::getClassId , dto.getClassId())
-                .eq(AssessmentPlanAnswerStudent::getAssessmentTemplatePlanId , dto.getId())
+                .innerJoin(BaseClass.class, BaseClass::getId, BaseStudentSchoolRoll::getClassId)
+                .eq(BaseStudentSchoolRoll::getClassId, dto.getClassId())
+                .eq(AssessmentPlanAnswerStudent::getAssessmentTemplatePlanId, dto.getId())
+                .eq(teacherId != null, BaseClass::getTeacherId, teacherId)
+                .eq(BaseStudentSchoolRoll::getArchivesStatus, ArchivesStatusEnum.FB2901.getCode())
                 .disableSubLogicDel();
         List<XjrUser> userList = xjrUserMapper.selectJoinList(XjrUser.class, queryWrapper);
         AssessmentTemplatePlan templatePlan = templatePlanMapper.selectById(dto.getId());
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String templateId = "sHsmz7LRj7HLd7GSTS3r2jCLvK-4Wp19iGzEvYK8n_I";
         for (XjrUser user : userList) {
             WeChatSendMessageDto weChatSendMessageDto = new WeChatSendMessageDto();
             weChatSendMessageDto.setUserId(user.getOpenId());
 
-            weChatSendMessageDto.setTemplateId(weChatUtil.getAssessmentTemplate());
+            weChatSendMessageDto.setTemplateId(templateId);
             weChatSendMessageDto.setUrl(StrUtil.format("{}/pages/student/canteen/evaluate?id={}", commonPropertiesConfig.getDomainApp(), dto.getId()));
             weChatSendMessageDto.setMsgId(dto.getId().toString());
 
-            JSONObject data = new JSONObject();
-            data.put("thing1.DATA", templatePlan.getName());
-            data.put("time2.DATA", sdf.format(templatePlan.getStartTime()));
-            data.put("time3.DATA", sdf.format(templatePlan.getEndTime()));
-            data.put("thing5.DATA", "test");
-            data.put("thing8.DATA", "test");
-            weChatSendMessageDto.setContent(data);
+            JSONObject paramJson = new JSONObject();
+
+            JSONObject thing8 = new JSONObject();
+            thing8.put("value", "食堂评价");
+            paramJson.put("thing8", thing8);
+
+            JSONObject thing2 = new JSONObject();
+            thing2.put("value", templatePlan.getName());
+            paramJson.put("thing2", thing2);
+
+            JSONObject thing6 = new JSONObject();
+            thing6.put("value", "重庆市铜梁职业教育中心");
+            paramJson.put("thing6", thing6);
+
+            JSONObject time3 = new JSONObject();
+            time3.put("value", sdf.format(templatePlan.getStartTime()));
+            paramJson.put("time3", time3);
+
+            weChatSendMessageDto.setContent(paramJson);
             weChatService.sendTemplateMessage(weChatSendMessageDto);
         }
         return true;

+ 2 - 2
src/main/java/com/xjrsoft/module/databoard/controller/DataboardController.java

@@ -162,7 +162,7 @@ public class DataboardController {
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         String sql = "SELECT t1.* FROM wf_course_adjust t1" +
                 " INNER JOIN xjr_workflow_form_relation t2 ON t2.form_key_value = t1.id" +
-                " WHERE t1.adjust_type = 'course_substitute'" +
+                " WHERE t1.adjust_type = 'course_exchange'" +
                 " AND t2.current_state = 'COMPLETED'";
         if(dto.getStartDate() != null && dto.getEndDate() != null){
             sql += " AND t1.adjust_date between '" + dto.getStartDate().format(formatter) + "' and '" + dto.getEndDate().format(formatter) + "'";
@@ -173,7 +173,7 @@ public class DataboardController {
 
         sql = "SELECT t1.* FROM wf_course_adjust t1" +
             " INNER JOIN xjr_workflow_form_relation t2 ON t2.form_key_value = t1.id" +
-            " WHERE t1.adjust_type = 'course_exchange'" +
+            " WHERE t1.adjust_type = 'course_substitute'" +
             " AND t2.current_state = 'COMPLETED'";
         if(dto.getStartDate() != null && dto.getEndDate() != null){
             sql += " AND t1.adjust_date between '" + dto.getStartDate().format(formatter) + "' and '" + dto.getEndDate().format(formatter) + "'";

+ 5 - 0
src/main/java/com/xjrsoft/module/student/controller/BaseStudentAssessmentInspectionController.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.student.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -56,6 +57,10 @@ public class BaseStudentAssessmentInspectionController {
     @ApiOperation(value = "学生班级巡查考核列表(分页)")
     @SaCheckPermission("basestudentassessmentinspection:detail")
     public RT<PageOutput<BaseStudentAssessmentInspectionPageVo>> page(@Valid BaseStudentAssessmentInspectionPageDto dto) {
+        List<String> roleList = StpUtil.getRoleList();
+        if(roleList.size() == 2 && roleList.contains("TEACHER") && roleList.contains("CLASSTE")){
+            dto.setTeacherId(StpUtil.getLoginIdAsLong());
+        }
         Page<BaseStudentAssessmentInspectionPageVo> page = inspectionService.getPage(new Page<>(dto.getLimit(), dto.getSize()), dto);
         return RT.ok(ConventPage.getPageOutput(page, BaseStudentAssessmentInspectionPageVo.class));
     }

+ 5 - 0
src/main/java/com/xjrsoft/module/student/controller/ConsumptionController.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.student.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.stp.StpUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -134,6 +135,10 @@ public class ConsumptionController {
     @ApiOperation(value="学生消费管理页分页查询")
     @SaCheckPermission("consumption:detail")
     public RT<PageOutput<PbVXsxxsfytbPageVo>> pbVXsxxsfytbPage(@Valid PbVXsxxsfytbPageDto dto){
+        List<String> roleList = StpUtil.getRoleList();
+        if(roleList.size() == 2 && roleList.contains("TEACHER") && roleList.contains("CLASSTE")){
+            dto.setTeacherId(StpUtil.getLoginIdAsLong());
+        }
         IPage<PbVXsxxsfytbPageVo> page = pbVXsxxsfytbService.getPage(dto);
         PageOutput<PbVXsxxsfytbPageVo> pageOutput = ConventPage.getPageOutput(page, PbVXsxxsfytbPageVo.class);
         return RT.ok(pageOutput);

+ 3 - 0
src/main/java/com/xjrsoft/module/student/dto/BaseStudentAssessmentInspectionPageDto.java

@@ -39,4 +39,7 @@ public class BaseStudentAssessmentInspectionPageDto extends PageInput {
 
     @ApiModelProperty("考核对象")
     private String assessmentType;
+
+    @ApiModelProperty("教师id")
+    private Long teacherId;
 }

+ 3 - 0
src/main/java/com/xjrsoft/module/student/dto/PbVXsxxsfytbPageDto.java

@@ -50,4 +50,7 @@ public class PbVXsxxsfytbPageDto extends PageInput {
 
     @ApiModelProperty("缴费状态")
     private String jfzt;
+
+    @ApiModelProperty("班主任id")
+    private Long teacherId;
 }

+ 41 - 22
src/main/java/com/xjrsoft/module/student/service/impl/BaseStudentAssessmentInspectionServiceImpl.java

@@ -301,25 +301,21 @@ public class BaseStudentAssessmentInspectionServiceImpl extends MPJBaseServiceIm
                     BeanUtils.copyProperties(dto, calssQuantitativeAssessmentPageDto);
 
                     //学生个人行为
-                    dto.setBaseStudentAssessmentCategoryId(1768178717588197377L);
+                    dto.setBaseStudentAssessmentCategoryId(1782327704603373570L);
                     Map<Long , QuantitativeAssessmentSingleScoreVo> individualBehaviorMap = getQuantitativeAssessmentSingleScoreMap(calssQuantitativeAssessmentPageDto);
 
                     //常规管理
-                    dto.setBaseStudentAssessmentCategoryId(1769927649167151105L);
+                    dto.setBaseStudentAssessmentCategoryId(1782329720935329794L);
                     Map<Long , QuantitativeAssessmentSingleScoreVo> conventionalManagementMap = getQuantitativeAssessmentSingleScoreMap(calssQuantitativeAssessmentPageDto);
 
                     //获奖及荣誉奖彰
-                    dto.setBaseStudentAssessmentCategoryId(1768179375900987394L);
+                    dto.setBaseStudentAssessmentCategoryId(1787316203484131329L);
                     Map<Long , QuantitativeAssessmentSingleScoreVo> awardsAndHonorableMap = getQuantitativeAssessmentSingleScoreMap(calssQuantitativeAssessmentPageDto);
 
                     //准军事化考核
-                    List<QuantitativeAssessmentSingleScoreVo> paramilitaryList = assessmentInspectionMapper.getParamilitaryList(new QuantitativeAssessmentSingleScoreDto(){{
-                        setClassIdList(classIdList);
-                    }});
-                    Map<Long , QuantitativeAssessmentSingleScoreVo> paramilitaryMap = new HashMap<>();
-                    for (QuantitativeAssessmentSingleScoreVo q : paramilitaryList) {
-                        awardsAndHonorableMap.put(q.getClassId(), q);
-                    }
+                    dto.setBaseStudentAssessmentCategoryId(1868835208799236098L);
+                    Map<Long , QuantitativeAssessmentSingleScoreVo> paramilitaryMap = getQuantitativeAssessmentSingleScoreMap(calssQuantitativeAssessmentPageDto);
+
 
                     //查询任课教师查询班级的数据
                     TeaEvaluateClassDto evaluateClassDto = new TeaEvaluateClassDto();
@@ -419,9 +415,22 @@ public class BaseStudentAssessmentInspectionServiceImpl extends MPJBaseServiceIm
                                 Log.error(e.getMessage(), e);
                             }
                         }
+                        if(paramilitaryMap.get(classId) != null){
+                            Double sumScore = awardsAndHonorableMap.get(classId).getSumScore();
+                            if(sumScore != null){
+                                c.setMilitaryManageScore(sumScore.toString());
+                                if(sumScore < 10){
+                                    c.setHonorScore(sumScore.toString());
+                                }else {
+                                    c.setHonorScore("10");
+                                }
+
+                                double v = (100 + sumScore) / 100 * 25;
+                                c.setMilitaryManageComprehensiveIndex(v + "");
+                            }
+                        }
+
 
-                        c.setMilitaryManageScore(" ");
-                        c.setMilitaryManageComprehensiveIndex(" ");
                         c.setAssessMoney(" ");
                         c.setAssessSumScore(" ");
                     }
@@ -496,25 +505,20 @@ public class BaseStudentAssessmentInspectionServiceImpl extends MPJBaseServiceIm
 
         if(!classIdList.isEmpty()){
             //学生个人行为
-            dto.setBaseStudentAssessmentCategoryId(1768178717588197377L);
+            dto.setBaseStudentAssessmentCategoryId(1782327704603373570L);
             Map<Long , QuantitativeAssessmentSingleScoreVo> individualBehaviorMap = getQuantitativeAssessmentSingleScoreMap(dto);
 
             //常规管理
-            dto.setBaseStudentAssessmentCategoryId(1769927649167151105L);
+            dto.setBaseStudentAssessmentCategoryId(1782329720935329794L);
             Map<Long , QuantitativeAssessmentSingleScoreVo> conventionalManagementMap = getQuantitativeAssessmentSingleScoreMap(dto);
 
             //获奖及荣誉奖彰
-            dto.setBaseStudentAssessmentCategoryId(1768179375900987394L);
+            dto.setBaseStudentAssessmentCategoryId(1787316203484131329L);
             Map<Long , QuantitativeAssessmentSingleScoreVo> awardsAndHonorableMap = getQuantitativeAssessmentSingleScoreMap(dto);
 
             //准军事化考核
-            List<QuantitativeAssessmentSingleScoreVo> paramilitaryList = assessmentInspectionMapper.getParamilitaryList(new QuantitativeAssessmentSingleScoreDto(){{
-                setClassIdList(classIdList);
-            }});
-            Map<Long , QuantitativeAssessmentSingleScoreVo> paramilitaryMap = new HashMap<>();
-            for (QuantitativeAssessmentSingleScoreVo q : paramilitaryList) {
-                awardsAndHonorableMap.put(q.getClassId(), q);
-            }
+            dto.setBaseStudentAssessmentCategoryId(1868835208799236098L);
+            Map<Long , QuantitativeAssessmentSingleScoreVo> paramilitaryMap = getQuantitativeAssessmentSingleScoreMap(dto);
 
             //查询任课教师查询班级的数据
             TeaEvaluateClassDto evaluateClassDto = new TeaEvaluateClassDto();
@@ -568,6 +572,21 @@ public class BaseStudentAssessmentInspectionServiceImpl extends MPJBaseServiceIm
                     }
                 }
 
+                if(paramilitaryMap.get(classId) != null){
+                    Double sumScore = awardsAndHonorableMap.get(classId).getSumScore();
+                    if(sumScore != null){
+                        c.setMilitaryManageScore(sumScore.toString());
+                        if(sumScore < 10){
+                            c.setHonorScore(sumScore.toString());
+                        }else {
+                            c.setHonorScore("10");
+                        }
+
+                        double v = (100 + sumScore) / 100 * 25;
+                        c.setMilitaryManageComprehensiveIndex(v + "");
+                    }
+                }
+
                 if(classEvaluateMap.containsKey(classId)){
                     Map<Long, List<TeaEvaluateClassListVo>> evaluateCategoryMap = classEvaluateMap.get(classId).stream().collect(Collectors.groupingBy(TeaEvaluateClassListVo::getId));
                     int size = evaluateCategoryMap.size();

+ 4 - 3
src/main/java/com/xjrsoft/module/student/service/impl/PbVXsxxsfytbServiceImpl.java

@@ -134,12 +134,13 @@ public class PbVXsxxsfytbServiceImpl extends MPJBaseServiceImpl<PbVXsxxsfytbMapp
 
         pbVXsxxsfytbMPJLambdaWrapper
                 .disableSubLogicDel()
-                .like(dto.getFeeitemname() != null && !dto.getFeeitemname().equals(""), PbVXsxxsfytb::getFeeitemname, dto.getFeeitemname())
-                .like(dto.getName() != null && !dto.getName().equals(""), PbVXsxxsfytb::getFeeobjname, dto.getName())
-                .eq(dto.getStudentId() != null && !dto.getStudentId().equals(""), BaseStudent::getStudentId, dto.getStudentId())
+                .like(dto.getFeeitemname() != null && !dto.getFeeitemname().isEmpty(), PbVXsxxsfytb::getFeeitemname, dto.getFeeitemname())
+                .like(dto.getName() != null && !dto.getName().isEmpty(), PbVXsxxsfytb::getFeeobjname, dto.getName())
+                .eq(dto.getStudentId() != null && !dto.getStudentId().isEmpty(), BaseStudent::getStudentId, dto.getStudentId())
                 .in(dto.getClassIdList() != null && !dto.getClassIdList().isEmpty(), BaseStudentSchoolRoll::getClassId, dto.getClassIdList())
                 .eq(dto.getSemesterId() != null && dto.getSemesterId() > 0, PbSemesterConfig::getBaseSemesterId, dto.getSemesterId())
                 .like(dto.getJfzt() != null && !"".equals(dto.getJfzt()), PbVXsxxsfytb::getJfzt, dto.getJfzt())
+                .eq(dto.getTeacherId() != null, BaseClass::getTeacherId, dto.getTeacherId())
                 .leftJoin(XjrUser.class, XjrUser::getCredentialNumber, PbVXsxxsfytb::getPersonalid)
                 .leftJoin(BaseStudentSchoolRoll.class, BaseStudentSchoolRoll::getUserId, XjrUser::getId)
                 .leftJoin(BaseClass.class, BaseClass::getId, BaseStudentSchoolRoll::getClassId)

+ 1 - 1
src/main/resources/mapper/room/RoomBedMapper.xml

@@ -287,7 +287,7 @@
     <select id="getClassStudetBed" parameterType="com.xjrsoft.module.room.dto.AdjustClassPageDto" resultType="com.xjrsoft.module.room.vo.AdjustBedClassStudentPageVo">
         SELECT t1.user_id,t4.id AS class_id, t4.name AS class_name,t2.name AS student_name,
         REPLACE(REPLACE(t2.gender,'SB10001','男'),'SB10002','女') AS gender_cn,t7.name AS build_name,t6.room_name,t5.bed_number
-        ,(SELECT (SUM(factrecarmny) >= SUM(factar)) FROM pb_v_xsxxsfytb WHERE Studentcode = t2.credential_number) AS pay_status
+        ,ifnull((SELECT (SUM(factrecarmny) >= SUM(factar)) FROM pb_v_xsxxsfytb WHERE personalid = t2.credential_number), 0) AS pay_status
         FROM base_student t1
         LEFT JOIN xjr_user t2 ON t1.user_id = t2.id
         LEFT JOIN base_student_school_roll t3 ON t1.user_id = t3.user_id

+ 5 - 1
src/main/resources/mapper/student/BaseStudentAssessmentInspectionMapper.xml

@@ -19,7 +19,8 @@
         LEFT JOIN base_grade t4 ON t.grade_id = t4.id
         LEFT JOIN xjr_user t5 ON t.assessment_user_id = t5.id
         LEFT JOIN xjr_dictionary_detail t6 ON t6.code= t.score_type
-        WHERE  t.delete_mark = 0 AND t1.delete_mark = 0  AND t2.delete_mark = 0
+        LEFT JOIN base_class t7 ON t7.id = CAST(t.class_ids AS SIGNED)
+        WHERE  t.delete_mark = 0 AND t.delete_mark = 0  AND t2.delete_mark = 0
         <if test="dto.projectIds != null">
             and t.base_student_assessment_category_id = #{dto.projectIds}
         </if>
@@ -41,6 +42,9 @@
         <if test="dto.assessmentType != null and dto.assessmentType != ''">
             and t.assessment_type like concat('%',#{dto.assessmentType},'%')
         </if>
+        <if test="dto.teacherId != null">
+            and t7.teacher_id = #{dto.teacherId}
+        </if>
     </select>
 
     <select id="getInfo" resultType="com.xjrsoft.module.student.vo.BaseStudentAssessmentInspectionVo">