浏览代码

Merge remote-tracking branch 'origin/master'

zouxuan 4 年之前
父节点
当前提交
266b9e50d9

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -380,4 +380,12 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
     List<String> getNoClassStudentMusicGroupIds(@Param("organIds") List<Integer> organIds);
 
     CooperationOrgan findCooperationOrganEduTeacher(@Param("id") Integer id);
+
+    /**
+     * 获取乐团合作单位进行中 、暂停、关闭 的乐团
+     * @param cooperationOrganId
+     * @param musicGroupId
+     * @return
+     */
+    Integer getCooperationMusicGroupNum(@Param("cooperationOrganId") Integer cooperationOrganId, @Param("musicGroupId") String musicGroupId);
 }

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentRegistrationDao.java

@@ -495,8 +495,16 @@ public interface StudentRegistrationDao extends BaseDAO<Long, StudentRegistratio
     StudentRegistration getByUserIdAndMusicGroupId(@Param("musicGroupId") String musicGroupId, @Param("userId") Integer userId);
 
     List<NoClassMusicStudentDto> queryNoClassMusicStudents(Map<String, Object> params);
+
     int countNoClassMusicStudents(Map<String, Object> params);
 
 
     List<StudentClassInfoDto> getStudentClassInfo(@Param("studentIds") List<Integer> studentIds);
+
+    /**
+     * 获取乐团已缴费学员数量
+     * @param musicGroupId
+     * @return
+     */
+    Integer getPaymentStudentNum(@Param("musicGroupId") String musicGroupId);
 }

+ 23 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ReplacementInstrumentActivityStatDto.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.biz.dal.entity.ReplacementInstrument;
 import com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity;
+import io.swagger.annotations.ApiModelProperty;
 
 import java.math.BigDecimal;
 
@@ -32,6 +33,12 @@ public class ReplacementInstrumentActivityStatDto extends ReplacementInstrumentA
 
     private BigDecimal salePrice;
 
+    @ApiModelProperty(value = "是否参与校赛")
+    private String hasYesFirstAnswer;
+
+    @ApiModelProperty(value="是否有置换乐器")
+    private String hasInstrumentsId;
+
     public String getSubjectName() {
         return subjectName;
     }
@@ -103,4 +110,20 @@ public class ReplacementInstrumentActivityStatDto extends ReplacementInstrumentA
     public void setOrganName(String organName) {
         this.organName = organName;
     }
+
+    public String getHasInstrumentsId() {
+        return hasInstrumentsId;
+    }
+
+    public void setHasInstrumentsId(String hasInstrumentsId) {
+        this.hasInstrumentsId = hasInstrumentsId;
+    }
+
+    public String getHasYesFirstAnswer() {
+        return hasYesFirstAnswer;
+    }
+
+    public void setHasYesFirstAnswer(String hasYesFirstAnswer) {
+        this.hasYesFirstAnswer = hasYesFirstAnswer;
+    }
 }

+ 34 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -2742,23 +2742,17 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         } else {
             throw new BizException("当前乐团状态不支持此操作");
         }
+        //新建团:(乐团合作单位没有进行中 、暂停、关闭 的乐团)
+        //若乐团新建团,则操作【确认开团】时,若【已缴费】学员达到98人,则无需对【未缴费】学员新增回访
+        //若乐团不是新建团,则操作【确认开团】时,若【已缴费】学员达到58人,则无需对【未缴费】学员新增回访
         //报名未交费的学生,完成回访才能到下一步
-        boolean hasNoVisit = false;
-        StringBuilder tipsMsg = new StringBuilder();
-        List<StudentRegistration> noPaymentStudents = studentRegistrationDao.getNoPaymentStudent(musicGroupId);
-        if (noPaymentStudents.size() > 0) {
-            tipsMsg.append("以下学生未完成回访,");
-            List<Integer> studentIds = noPaymentStudents.stream().map(StudentRegistration::getUserId).collect(Collectors.toList());
-            List<Integer> musicGroupVisitStudent = studentVisitDao.getMusicGroupVisitStudent(musicGroupId, studentIds);
-            for (StudentRegistration noPaymentStudent : noPaymentStudents) {
-                if (!musicGroupVisitStudent.contains(noPaymentStudent.getUserId())) {
-                    hasNoVisit = true;
-                    tipsMsg.append(noPaymentStudent.getName()).append("(").append(noPaymentStudent.getUserId()).append(")、");
-                }
-            }
-        }
-        if (hasNoVisit) {
-            throw new BizException(tipsMsg.append("请完成回访").toString());
+
+        //获取乐团合作单位乐团数量
+        Integer cooperationMusicGroupNum = musicGroupDao.getCooperationMusicGroupNum(musicGroup.getCooperationOrganId(), musicGroupId);
+        Integer paymentStudentNum = studentRegistrationDao.getPaymentStudentNum(musicGroupId);
+
+        if((cooperationMusicGroupNum > 0 && paymentStudentNum < 98) || (cooperationMusicGroupNum <= 0 && paymentStudentNum < 58)){
+            checkStudentVisit(musicGroupId);
         }
 
         musicGroupBuildLogDao.insert(new MusicGroupBuildLog(musicGroupId, event, sysUser.getId(), ""));
@@ -2788,6 +2782,30 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         sysMessageService.batchSeoMessage(integers, MessageTypeEnum.BACKSTAGE_MUSIC_GROUP_MARKING, "", musicGroup.getName());
     }
 
+    /**
+     * 校验回访
+     * @param musicGroupId
+     */
+    private void checkStudentVisit(String musicGroupId){
+        boolean hasNoVisit = false;
+        StringBuilder tipsMsg = new StringBuilder();
+        List<StudentRegistration> noPaymentStudents = studentRegistrationDao.getNoPaymentStudent(musicGroupId);
+        if (noPaymentStudents.size() > 0) {
+            tipsMsg.append("以下学生未完成回访,");
+            List<Integer> studentIds = noPaymentStudents.stream().map(StudentRegistration::getUserId).collect(Collectors.toList());
+            List<Integer> musicGroupVisitStudent = studentVisitDao.getMusicGroupVisitStudent(musicGroupId, studentIds);
+            for (StudentRegistration noPaymentStudent : noPaymentStudents) {
+                if (!musicGroupVisitStudent.contains(noPaymentStudent.getUserId())) {
+                    hasNoVisit = true;
+                    tipsMsg.append(noPaymentStudent.getName()).append("(").append(noPaymentStudent.getUserId()).append(")、");
+                }
+            }
+        }
+        if (hasNoVisit) {
+            throw new BizException(tipsMsg.append("请完成回访").toString());
+        }
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public List<StudentRegistration> addMusicGroupRegs(String musicGroupId, List<Long> registerIds) throws Exception {

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -713,6 +713,12 @@
             </if>
     </select>
 
+    <select id="getCooperationMusicGroupNum" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM  music_group
+        WHERE cooperation_organ_id_ = #{cooperationOrganId} AND status_ IN ('PROGRESS','PAUSE','CLOSE')
+        AND id_ != #{musicGroupId}
+    </select>
+
     <select id="findCooperationOrganEduTeacher" resultMap="com.ym.mec.biz.dal.dao.CooperationOrganDao.CooperationOrgan">
         SELECT co.name_,su.real_name_ linkman_
         FROM music_group mg

+ 3 - 2
mec-biz/src/main/resources/config/mybatis/ReplacementInstrumentActivityMapper.xml

@@ -37,6 +37,7 @@
         <result property="discountPrice" column="discount_price_"/>
         <result property="depreciationPrice" column="depreciation_price_"/>
         <result property="salePrice" column="sale_price_"/>
+        <result property="mobileNo" column="phone_"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -260,10 +261,10 @@
 
     <!-- 获取问卷分页数据 -->
     <select id="getPageList" resultMap="ReplacementInstrumentActivityStatDto" parameterType="map">
-        SELECT ria.*,su.phone_ mobile_no_,o.name_ organ_name_,ri.brand_,ri.specification_,ri.param_,ri.market_price_,ri.discount_price_,ri.depreciation_price_,
+        SELECT ria.*,su.phone_,o.name_ organ_name_,ri.brand_,ri.specification_,ri.param_,ri.market_price_,ri.discount_price_,ri.depreciation_price_,
         ri.sale_price_,s.name_ subject_name_,co.name_ cooperationOrganName FROM replacement_instrument_activity ria
         LEFT JOIN replacement_instrument ri ON ri.id_ = ria.instruments_id_
-        LEFT JOIN subject s ON s.id_ = ri.subject_id_
+        LEFT JOIN subject s ON s.id_ = ria.subject_id_
         lEFT JOIN sys_user su ON su.id_ = ria.user_id_
         LEFT JOIN cooperation_organ co ON co.id_ = ria.cooperation_organ_id_
         LEFT JOIN organization o ON o.id_ = co.organ_id_

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -955,4 +955,8 @@
             </foreach>
         </if>
     </select>
+
+    <select id="getPaymentStudentNum" resultType="int">
+        SELECT COUNT(*) FROM student_registration WHERE music_group_id_ = #{musicGroupId} AND payment_status_ = 2 AND music_group_status_ = 'NORMAL'
+    </select>
 </mapper>

+ 16 - 3
mec-web/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentActivityController.java

@@ -30,6 +30,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -89,7 +90,7 @@ public class ReplacementInstrumentActivityController extends BaseController {
     }
 
     @ApiOperation(value = "修改")
-    @GetMapping("/update")
+    @PostMapping("/update")
     @PreAuthorize("@pcs.hasPermissions('replacementInstrumentActivity/update')")
     public HttpResponseResult<ReplacementInstrumentActivity> update(ReplacementInstrumentActivity replacementInstrumentActivity) {
         ReplacementInstrumentActivity oldReplacementInstrumentActivity = replacementInstrumentActivityDao.getLock(replacementInstrumentActivity.getId());
@@ -147,12 +148,24 @@ public class ReplacementInstrumentActivityController extends BaseController {
         if (pageList.getTotal() <= 0) {
             throw new BizException("没有可导出的记录");
         }
+        for (ReplacementInstrumentActivityStatDto row : pageList.getRows()) {
+            if (row.getQuestionResult().substring(0, 1).equals("1")) {
+                row.setHasYesFirstAnswer("是");
+            } else {
+                row.setHasYesFirstAnswer("否");
+            }
+            if(row.getInstrumentsId() == null){
+                row.setHasInstrumentsId("否");
+            }else {
+                row.setHasInstrumentsId("是");
+            }
+        }
 
         OutputStream outputStream = response.getOutputStream();
         HSSFWorkbook workbook = null;
         try {
-            String[] header = {"分部", "合作单位编号", "合作单位", "学员编号", "学员姓名", "联系电话", "声部", "品牌", "型号"};
-            String[] body = {"organName", "cooperationOrganId", "cooperationOrganName", "userId", "userName", "mobileNo", "subjectName", "brand", "specification"};
+            String[] header = {"分部", "合作单位编号", "合作单位", "学员编号", "学员姓名", "联系电话", "声部", "品牌", "型号", "是否参与市赛", "是否置换乐器"};
+            String[] body = {"organName", "cooperationOrganId", "cooperationOrganName", "userId", "userName", "mobileNo", "subjectName", "brand", "specification","hasYesFirstAnswer","hasInstrumentsId"};
             workbook = POIUtil.exportExcel(header, body, pageList.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=replacement-" + DateUtil.getDate(new Date()) + ".xls");