Browse Source

Merge branch 'master' of http://git.dayaedu.com/yonge/edu-saas

zouxuan 5 years ago
parent
commit
aa31cec56e

+ 11 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/ExamManualLedgerDao.java

@@ -5,6 +5,7 @@ import com.keao.edu.user.dto.ExamManualLedgerStatisticsDto;
 import com.keao.edu.user.entity.ExamManualLedger;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -28,5 +29,14 @@ public interface ExamManualLedgerDao extends BaseDAO<Long, ExamManualLedger> {
                                                      @Param("examId") Long examId,
                                                      @Param("days") List<String> days);
 
-
+    /**
+     * @describe 统计合作单位在指定项目中的累计支出
+     * @author Joburgess
+     * @date 2020.07.21
+     * @param examId:
+     * @param organId:
+     * @return java.math.BigDecimal
+     */
+    BigDecimal countOrganLedgerWithExam(@Param("examId") Long examId,
+                                        @Param("organId") Integer organId);
 }

+ 9 - 9
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamManualLedgerServiceImpl.java

@@ -45,19 +45,19 @@ public class ExamManualLedgerServiceImpl extends BaseServiceImpl<Long, ExamManua
 		if(Objects.isNull(examManualLedger.getAmount())){
 			throw new BizException("请指定交易金额");
 		}
-		examinationBasicDao.lockExam(examManualLedger.getExaminationBasicId());
+//		examinationBasicDao.lockExam(examManualLedger.getExaminationBasicId());
+		if(Objects.nonNull(examManualLedger.getTargetOrganId())&&examManualLedger.getTargetOrganId()<=0){
+			examManualLedger.setTargetOrganId(null);
+		}
+		examManualLedgerDao.insert(examManualLedger);
 		if(Objects.nonNull(examManualLedger.getTargetOrganId())&&examManualLedger.getTargetOrganId()>0){
 			ExamOrganizationRelation examOrganizationRelation = examOrganizationRelationDao.getExamOrganizationRelation(examManualLedger.getExaminationBasicId(), examManualLedger.getTargetOrganId());
 			if(Objects.isNull(examOrganizationRelation)){
 				throw new BizException("合作单位信息异常");
 			}
-			examOrganizationRelation.setTotalTransAmount(examOrganizationRelation.getTotalTransAmount().add(examManualLedger.getAmount()));
+			examOrganizationRelation.setTotalTransAmount(examManualLedgerDao.countOrganLedgerWithExam(examManualLedger.getExaminationBasicId(), examManualLedger.getTargetOrganId()));
 			examOrganizationRelationDao.update(examOrganizationRelation);
 		}
-		if(Objects.nonNull(examManualLedger.getTargetOrganId())&&examManualLedger.getTargetOrganId()<=0){
-			examManualLedger.setTargetOrganId(null);
-		}
-		examManualLedgerDao.insert(examManualLedger);
 	}
 
 	@Override
@@ -84,16 +84,16 @@ public class ExamManualLedgerServiceImpl extends BaseServiceImpl<Long, ExamManua
 			throw new BizException("请指定需要删除的支出记录");
 		}
 		ExamManualLedger examManualLedger = examManualLedgerDao.get(id);
-		examinationBasicDao.lockExam(examManualLedger.getExaminationBasicId());
+//		examinationBasicDao.lockExam(examManualLedger.getExaminationBasicId());
+		examManualLedgerDao.delete(id);
 		if(Objects.nonNull(examManualLedger.getTargetOrganId())&&examManualLedger.getTargetOrganId()>0){
 			ExamOrganizationRelation examOrganizationRelation = examOrganizationRelationDao.getExamOrganizationRelation(examManualLedger.getExaminationBasicId(), examManualLedger.getTargetOrganId());
 			if(Objects.isNull(examOrganizationRelation)){
 				throw new BizException("合作单位信息异常");
 			}
-			examOrganizationRelation.setTotalTransAmount(examOrganizationRelation.getTotalTransAmount().subtract(examManualLedger.getAmount()));
+			examOrganizationRelation.setTotalTransAmount(examManualLedgerDao.countOrganLedgerWithExam(examManualLedger.getExaminationBasicId(), examManualLedger.getTargetOrganId()));
 			examOrganizationRelationDao.update(examOrganizationRelation);
 		}
-		examManualLedgerDao.delete(id);
 	}
 
 	@Override

+ 10 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamManualLedgerMapper.xml

@@ -147,4 +147,14 @@
 				#{day}
 			</foreach>
     </select>
+    <select id="countOrganLedgerWithExam" resultType="java.math.BigDecimal">
+		SELECT
+			SUM(amount_)
+		FROM
+			exam_manual_ledger
+		WHERE
+			examination_basic_id_ = #{examId}
+			AND organ_id_ = #{organId}
+			AND trans_direction_ = 'EXPENDITURE'
+	</select>
 </mapper>

+ 1 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml

@@ -414,7 +414,7 @@
 		FROM
 		exam_registration er
 		WHERE 1=1
-		AND er.status_ IN ('AUDIT_PASS')
+		AND er.status_ IN ('AUDIT_PASS', 'AUDIT_WAIT')
 		<if test="organIds!=null">
 			AND er.organ_id_ IN
 			<foreach collection="organIds" item="organI" separator="," open="(" close=")">

+ 1 - 1
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRoomStudentRelationMapper.xml

@@ -123,7 +123,7 @@
 
 	<sql id="queryCondition">
 		<where>
-			er.status_='AUDIT_PASS'
+			er.status_ IN ('AUDIT_PASS', 'AUDIT_WAIT')
 			<if test="organIds!=null">
 				AND er.organ_id_ IN
 				<foreach collection="organIds" item="organI" separator="," open="(" close=")">