Explorar o código

Merge remote-tracking branch 'origin/master'

Joburgess %!s(int64=4) %!d(string=hai) anos
pai
achega
3d0a268473

+ 22 - 10
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderDao.java

@@ -228,48 +228,51 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
 
     /**
      * 获取乐团报名的缴费日历
+     *
      * @param musicGroupId
      * @return
      */
     MusicGroupPaymentCalender getMusicGroupRegCalender(@Param("musicGroupId") String musicGroupId);
 
     /**
+     * @param userId:
+     * @param musicGroupId:
+     * @return java.util.Map<java.lang.String, java.lang.String>
      * @describe 获取学员在乐团的缴费状态
      * @apiNote 时光荏苒,认真工作的时间总是过得很快,而我、享受这一刻!
      * @author zouxuan
      * @date 2020/11/4
      * @time 15:43
-     * @param userId:
-     * @param musicGroupId:
-     * @return java.util.Map<java.lang.String,java.lang.String>
      */
     List<Map<String, String>> queryUserPaymentStatus(@Param("userId") Integer userId, @Param("musicGroupId") String musicGroupId);
 
     /**
+     * @param studentId:
+     * @param musicGroupId:
+     * @return java.util.List<java.util.Map < java.lang.Integer, java.lang.String>>
      * @describe 获取学员再乐团的缴费状态
      * @apiNote 时光荏苒,认真工作的时间总是过得很快,而我、享受这一刻!
      * @author zouxuan
      * @date 2020/11/11
      * @time 14:03
-     * @param studentId:
-     * @param musicGroupId:
-     * @return java.util.List<java.util.Map<java.lang.Integer,java.lang.String>>
      */
-    List<Map<Integer,String>> queryUserCoursePaymentStatus(@Param("studentId") Set studentId, @Param("musicGroupId") String musicGroupId);
+    List<Map<Integer, String>> queryUserCoursePaymentStatus(@Param("studentId") Set studentId, @Param("musicGroupId") String musicGroupId);
 
     /**
      * 缴费预计人数减一
-     * @author
+     *
      * @param userId
+     * @author
      */
     void cutCalenderExpectNum(@Param("userId") Integer userId, @Param("musicGroupId") String musicGroupId);
 
     /**
      * 获取需要删除的缴费项
-     * @author zouxuan
+     *
      * @param userId
      * @param musicGroupId
      * @return
+     * @author zouxuan
      */
     List<Long> findStudentNoPaymentCalender(@Param("userId") Integer userId, @Param("musicGroupId") String musicGroupId);
 
@@ -280,10 +283,19 @@ public interface MusicGroupPaymentCalenderDao extends BaseDAO<Long, MusicGroupPa
 
     /**
      * 根据批次号,学员编号和课程类型查询
-     * @author zouxuan
+     *
      * @param batchNo
      * @param studentId
      * @return
+     * @author zouxuan
      */
     Set<Long> findByBatchNoAndStudentId(@Param("batchNo") String batchNo, @Param("studentId") Integer studentId);
+
+    /**
+     * 根据calenderIds获取学校缴费项
+     *
+     * @param calenderIds
+     * @return
+     */
+    List<MusicGroupPaymentCalender> getPaymentCalenderWithCalenderIdsAndPayUserType(@Param("calenderIds") List<Long> calenderIds, @Param("payUserType") PayUserType payUserType);
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/OrganizationCourseDurationSettingsDao.java

@@ -18,4 +18,11 @@ public interface OrganizationCourseDurationSettingsDao extends BaseDAO<Integer,
 	 */
 	OrganizationCourseDurationSettings queryByOrganIdAndCourseType(@Param("organId") Integer organId,
 																			  @Param("courseScheduleType") CourseScheduleType courseType);
+
+	/**
+	 * 获取分部所有课程类型的课程时长设置
+	 * @param organId
+	 * @return
+	 */
+	List<OrganizationCourseDurationSettings> queryByOrganId(@Param("organId") Integer organId);
 }

+ 11 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/StudentPaymentRouteOrder.java

@@ -70,7 +70,9 @@ public class StudentPaymentRouteOrder {
     private AuditStatusEnum auditStatus = ING;
     
     private String auditComment;
-    
+
+    private Long calenderId;
+
     private Date createTime;
     
     private Date updateTime;
@@ -310,4 +312,12 @@ public class StudentPaymentRouteOrder {
 	public void setOrgan(Organization organ) {
 		this.organ = organ;
 	}
+
+	public Long getCalenderId() {
+		return calenderId;
+	}
+
+	public void setCalenderId(Long calenderId) {
+		this.calenderId = calenderId;
+	}
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/OrganizationCourseDurationSettingsService.java

@@ -1,9 +1,12 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 import com.ym.mec.biz.dal.entity.OrganizationCourseDurationSettings;
 import com.ym.mec.common.service.BaseService;
 
+import java.util.Map;
+
 public interface OrganizationCourseDurationSettingsService extends BaseService<Integer, OrganizationCourseDurationSettings> {
 
     /**
@@ -14,4 +17,12 @@ public interface OrganizationCourseDurationSettingsService extends BaseService<I
      * @return
      */
     OrganizationCourseDurationSettings queryByOrganIdAndCourseType(Integer organId, CourseScheduleType courseType);
+
+
+    /**
+     * 获取分部所有课程类型的时长
+     * @param organId
+     * @return
+     */
+    Map<String,String> queryByOrganId(Integer organId);
 }

+ 25 - 15
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrganizationCourseDurationSettingsServiceImpl.java

@@ -9,20 +9,30 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
 @Service
-public class OrganizationCourseDurationSettingsServiceImpl extends BaseServiceImpl<Integer, OrganizationCourseDurationSettings>  implements OrganizationCourseDurationSettingsService {
-	
-	@Autowired
-	private OrganizationCourseDurationSettingsDao organizationCourseDurationSettingsDao;
-
-	@Override
-	public BaseDAO<Integer, OrganizationCourseDurationSettings> getDAO() {
-		return organizationCourseDurationSettingsDao;
-	}
-
-	@Override
-	public OrganizationCourseDurationSettings queryByOrganIdAndCourseType(Integer organId, CourseScheduleType courseType) {
-		return organizationCourseDurationSettingsDao.queryByOrganIdAndCourseType(organId, courseType);
-	}
-	
+public class OrganizationCourseDurationSettingsServiceImpl extends BaseServiceImpl<Integer, OrganizationCourseDurationSettings> implements OrganizationCourseDurationSettingsService {
+
+    @Autowired
+    private OrganizationCourseDurationSettingsDao organizationCourseDurationSettingsDao;
+
+    @Override
+    public BaseDAO<Integer, OrganizationCourseDurationSettings> getDAO() {
+        return organizationCourseDurationSettingsDao;
+    }
+
+    @Override
+    public OrganizationCourseDurationSettings queryByOrganIdAndCourseType(Integer organId, CourseScheduleType courseType) {
+        return organizationCourseDurationSettingsDao.queryByOrganIdAndCourseType(organId, courseType);
+    }
+
+    @Override
+    public Map<String, String> queryByOrganId(Integer organId) {
+        List<OrganizationCourseDurationSettings> organizationCourseDurationSettings = organizationCourseDurationSettingsDao.queryByOrganId(organId);
+        return organizationCourseDurationSettings.stream().collect(Collectors.toMap(e->e.getCourseType().getCode(), OrganizationCourseDurationSettings::getDuration));
+    }
+
 }

+ 18 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentRouteOrderServiceImpl.java

@@ -64,6 +64,8 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
     private SysUserFeignService sysUserFeignService;
     @Autowired
     private TeacherDao teacherDao;
+    @Autowired
+	private MusicGroupPaymentCalenderDao musicGroupPaymentCalenderDao;
 
     @Override
     public BaseDAO<Long, StudentPaymentRouteOrder> getDAO() {
@@ -275,10 +277,8 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
 	            }
 	            sellOrderDao.batchInsert(sellOrderList);
 	        }
+
 		}
-		
-		
-		
 		return true;
 	}
 
@@ -339,6 +339,10 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
 				throw new BizException("导入数据错误  重复的交易流水号:{}",list.get(0));
 			}
 
+			List<Long> calenderIds = sheet.stream().map(m -> Long.parseLong(m.get("学校缴费项id").toString())).collect(Collectors.toList());
+			List<MusicGroupPaymentCalender> calenders = musicGroupPaymentCalenderDao.getPaymentCalenderWithCalenderIdsAndPayUserType(calenderIds, MusicGroupPaymentCalender.PayUserType.SCHOOL);
+			Map<String, Long> schoolCalender = calenders.stream().collect(Collectors.toMap(m->m.getId().toString(), MusicGroupPaymentCalender::getId));
+
 			valueIsNull: for (int j = 0; j < sheet.size(); j++) {
 				int rowNum = j + 2;
 				Map<String, Object> row = sheet.get(j);
@@ -423,6 +427,17 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
 						}
 						continue;
 					}
+					if (columnValue.equals("calenderId")) {
+						if(StringUtils.isEmpty(row.get(s).toString())){
+							sb.append("第" + rowNum).append("行数据导入失败:学校缴费项id不可为空;");
+							continue valueIsNull;
+						}else if(!schoolCalender.containsKey(row.get(s).toString())) {
+							sb.append("第" + rowNum).append("行数据导入失败:学校缴费项id不存在;");
+						}else {
+							objectMap.put("calenderId", row.get(s));
+						}
+						continue;
+					}
 					objectMap.put(columnValue, row.get(s));
 				}
 				StudentPaymentRouteOrder studentPaymentRouteOrder = JSONObject.parseObject(objectMap.toJSONString(),StudentPaymentRouteOrder.class);

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderMapper.xml

@@ -542,4 +542,13 @@
         LEFT JOIN music_group_payment_calender_detail mgpcd ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
         WHERE batch_no_ = #{batchNo} AND mgpcd.user_id_ = #{studentId}
     </select>
+
+    <select id="getPaymentCalenderWithCalenderIdsAndPayUserType" resultMap="MusicGroupPaymentCalender">
+        SELECT * FROM music_group_payment_calender mgpc
+        WHERE id_ IN
+        <foreach collection="calenderIds" item="calenderId" open="(" close=")" separator=",">
+            #{calenderId}
+        </foreach>
+        AND pay_user_type_ = #{payUserType}
+    </select>
 </mapper>

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

@@ -107,4 +107,10 @@
           AND course_type_ = #{courseScheduleType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
     </select>
 
+    <select id="queryByOrganId" resultMap="OrganizationCourseDurationSettings">
+        SELECT *
+        FROM organization_course_duration_settings
+        WHERE organ_id_ = #{organId}
+    </select>
+
 </mapper>

+ 9 - 5
mec-biz/src/main/resources/config/mybatis/StudentPaymentRouteOrderMapper.xml

@@ -21,6 +21,7 @@
         <result column="goods_json_" property="goodsJson"/>
         <result column="audit_status_" property="auditStatus" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
         <result column="audit_comment_" property="auditComment"/>
+        <result column="calender_id_" property="calenderId"/>
         <result column="create_time_" property="createTime"/>
         <result column="create_by_" property="createBy"/>
         <result column="update_time_" property="updateTime"/>
@@ -49,7 +50,7 @@
 
     <sql id="Base_Column_List">
         <!--@mbg.generated-->
-        id_, route_organ_id_, route_amount_,route_balance_amount_, mer_no_, order_no_, fee_flag_,user_id_,school_id_,trans_no_,pay_time_,sale_amount_,service_amount_,memo_,goods_json_,audit_status_,audit_comment_,create_time_,create_by_,update_time_,update_by_
+        id_, route_organ_id_, route_amount_,route_balance_amount_, mer_no_, order_no_, fee_flag_,user_id_,school_id_,trans_no_,pay_time_,sale_amount_,service_amount_,memo_,goods_json_,audit_status_,audit_comment_,calender_id_,create_time_,create_by_,update_time_,update_by_
     </sql>
     <select id="get" parameterType="java.lang.Long" resultMap="StudentPaymentRouteOrderMap">
         <!--@mbg.generated-->
@@ -69,8 +70,8 @@
             parameterType="com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder" useGeneratedKeys="true">
         <!--@mbg.generated-->
         insert into student_payment_route_order (route_organ_id_, route_amount_,route_balance_amount_, mer_no_,
-        order_no_, fee_flag_,user_id_,school_id_,trans_no_,pay_time_,sale_amount_,service_amount_,memo_,goods_json_,audit_status_,audit_comment_,create_time_,update_time_,create_by_,update_by_)
-        values (#{routeOrganId}, #{routeAmount},#{routeBalanceAmount}, #{merNo}, #{orderNo}, #{feeFlag},#{userId},#{schoolId},#{transNo},#{payTime},#{saleAmount},#{serviceAmount},#{memo},#{goodsJson},#{auditStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{auditComment},#{createTime},#{updateTime},#{createBy},#{updateBy})
+        order_no_, fee_flag_,user_id_,school_id_,trans_no_,pay_time_,sale_amount_,service_amount_,memo_,goods_json_,audit_status_,audit_comment_,calender_id_,create_time_,update_time_,create_by_,update_by_)
+        values (#{routeOrganId}, #{routeAmount},#{routeBalanceAmount}, #{merNo}, #{orderNo}, #{feeFlag},#{userId},#{schoolId},#{transNo},#{payTime},#{saleAmount},#{serviceAmount},#{memo},#{goodsJson},#{auditStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{auditComment},#{calenderId},#{createTime},#{updateTime},#{createBy},#{updateBy})
     </insert>
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.StudentPaymentRouteOrder">
         <!--@mbg.generated-->
@@ -116,6 +117,9 @@
             <if test="auditComment != null">
                 audit_comment_ = #{auditComment},
             </if>
+            <if test="calenderId != null">
+                calender_id_ = #{calenderId},
+            </if>
             <if test="createTime != null">
                 create_time_ = #{createTime},
             </if>
@@ -137,7 +141,7 @@
         INSERT INTO student_payment_route_order
         (order_no_,route_organ_id_, route_amount_,route_balance_amount_, mer_no_,fee_flag_,user_id_,
         school_id_,trans_no_,pay_time_,sale_amount_,service_amount_,memo_,goods_json_,audit_status_,
-        audit_comment_,create_time_,update_time_,create_by_,update_by_)
+        audit_comment_,calender_id_,create_time_,update_time_,create_by_,update_by_)
         VALUE
         <foreach collection="routeOrders" item="routeOrder" separator=",">
             (#{routeOrder.orderNo},#{routeOrder.routeOrganId},#{routeOrder.routeAmount},
@@ -145,7 +149,7 @@
             #{routeOrder.userId},#{routeOrder.schoolId},#{routeOrder.transNo},#{routeOrder.payTime},
             #{routeOrder.saleAmount},#{routeOrder.serviceAmount},#{routeOrder.memo},#{routeOrder.goodsJson},
             #{routeOrder.auditStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{routeOrder.auditComment},
-            NOW(),NOW(),#{routeOrder.createBy},#{routeOrder.updateBy})
+            #{routeOrder.calenderId},NOW(),NOW(),#{routeOrder.createBy},#{routeOrder.updateBy})
         </foreach>
     </insert>
 

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/controller/OrganizationCourseDurationSettingsController.java

@@ -15,6 +15,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Date;
+import java.util.Map;
 
 @RequestMapping("organizationCourseDurationSettings")
 @Api(tags = "分部课程时长设置服务")
@@ -68,4 +69,11 @@ public class OrganizationCourseDurationSettingsController extends BaseController
         return succeed(organizationCourseDurationSettingsService.queryByOrganIdAndCourseType(organId, courseScheduleType));
     }
 
+    @ApiOperation(value = "获取分部课程的课程时长")
+    @GetMapping(value = "/queryByOrganId")
+    @PreAuthorize("@pcs.hasPermissions('organizationCourseDurationSettings/queryByOrganId')")
+    public HttpResponseResult<Map<String,String>> queryByOrganId(Integer organId) {
+        return succeed(organizationCourseDurationSettingsService.queryByOrganId(organId));
+    }
+
 }

+ 1 - 0
mec-web/src/main/resources/columnMapper.ini

@@ -50,3 +50,4 @@
 商品编号 = goodsIds
 商品数量 = goodsNums
 备注 = memo
+缴费项id = calenderId

BIN=BIN
mec-web/src/main/resources/excelTemplate/财务管理导入模板.xls