成绩管理和教师端

main
@t2652009480 3 days ago
parent f733b89558
commit 89004333bf

@ -198,4 +198,25 @@ public class ImportletterController {
return new ResultEntity<>(importletterService.getCodeByNameAndAddress(userId,number,code));
}
@AnonymousAccess
@ApiOperation("付款/承兑-提交/保存")
@PostMapping("submitPaymentAcceptance")
public ResultEntity submitPaymentAcceptance(@Valid @RequestBody PaymentAcceptance paymentAcceptance) {
Integer i = importletterService.submitPaymentAcceptance(paymentAcceptance);
String type;
if(paymentAcceptance.getSubmitStatus()==1){
type="提交";
}else {
type="保存";
}
if(i>0){
return new ResultEntity<>(HttpStatus.OK,type+"成功");
}else {
return new ResultEntity<>(HttpStatus.OK,type+"失败");
}
}
}

@ -22,7 +22,7 @@ import java.util.List;
* @author tz
* @date 2025/3/14 11:25
*/
@Api(tags = "成绩管理/重新实训/案例展示")
@Api(tags = "成绩管理-重新实训-案例展示")
@RequestMapping("api/gradeManagement")
@RestController
@Validated

@ -1,27 +1,33 @@
package com.sztzjy.bank.controller.tch;
import com.github.pagehelper.PageInfo;
import com.sztzjy.bank.annotation.AnonymousAccess;
import com.sztzjy.bank.entity.StuUser;
import com.sztzjy.bank.entity.dto.StuAcademicRecordDTO;
import com.sztzjy.bank.entity.dto.TchProjectAnalysisDTO;
import com.sztzjy.bank.service.TchSummaryGradesService;
import com.sztzjy.bank.util.ResultEntity;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
/**
* @author tz
* @date 2025/3/14 17:44
*/
@Api(tags ="教师端/业务模拟")
@RequestMapping("api/summaryGrades")
@Api(tags ="教师端-业务模拟")
@RequestMapping("api/businessSimulation")
@RestController
@Validated
public class TchSummaryGradesController {
@ -29,11 +35,62 @@ public class TchSummaryGradesController {
@Autowired
TchSummaryGradesService summaryGradesService;
@AnonymousAccess
@ApiOperation("成绩总览")
@GetMapping("getSummaryGrades")
public ResultEntity<List<StuUser>> getSummaryGrades(@ApiParam("用户ID") String schoolId) {
public ResultEntity<PageInfo<StuUser>> getSummaryGrades(@ApiParam("学校ID") String schoolId, Integer index, Integer size,
@ApiParam("学号")@RequestParam(required = false) String studentId,
@ApiParam("姓名")@RequestParam(required = false) String userName,
@ApiParam("班级")@RequestParam(required = false) String className) {
return new ResultEntity<>(summaryGradesService.getSummaryGrades(schoolId,index,size,studentId,userName,className));
}
return new ResultEntity<>(summaryGradesService.getSummaryGrades(schoolId));
@AnonymousAccess
@ApiOperation("项目分析")
@GetMapping("getProjectAnalysis")
public ResultEntity<List<TchProjectAnalysisDTO>> getProjectAnalysis(@ApiParam("学校ID") String schoolId) {
return new ResultEntity<>(summaryGradesService.getProjectAnalysis(schoolId));
}
// @ApiOperation("成绩总览导出")
// @GetMapping("/export")
// @AnonymousAccess
// public void export(HttpServletResponse response,
// @ApiParam("用户ID") String schoolId) {
//
//
// //导出的表名
// String title = "成绩总览";
//
// String[] headers = {"学号", "姓名", "班级", "练习进度", "练习时长","练习成绩","排名"};
//
// StuUser stuUser = stuUserMapper.selectByPrimaryKey(userId);
//
// StuScoreDetailsExample example=new StuScoreDetailsExample();
// example.createCriteria().andUserIdEqualTo(userId);
// List<StuScoreDetails> stuScoreDetails = scoreDetailsMapper.selectByExample(example);
//
//
// //实际数据结果集
// List<StuScoreDetailsDTO> proAchievementsList = recordService.getProAchievementsList(userId, stuUser.getSchoolId(), stuScoreDetails);
//
//
// if (!proAchievementsList.isEmpty()){
//
// //具体需要写入excel需要哪些字段这些字段取自UserReward类也就是上面的实际数据结果集的泛型
// List<String> listColumn = Arrays.asList("number", "projectName", "score", "weight", "weightedScore");
// try {
// FilePortUtil.exportExcel(response, title, headers, proAchievementsList, listColumn);
// } catch (Exception e) {
// e.printStackTrace();
// }
// }else {
// throw new ServiceException(HttpStatus.ACCEPTED,"未查询到成绩信息,导出失败");
// }
// }
}

@ -2,7 +2,10 @@ package com.sztzjy.bank.entity;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;
/**
*
*
@ -71,9 +74,13 @@ public class BusinessGuaranteeInfo {
private String userId;
@ApiModelProperty(notes = "创建时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
@ApiModelProperty(notes = "更新时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date updateTime;
@ApiModelProperty(notes = "保存状态(0未保存、1已保存)")

@ -2,7 +2,10 @@ package com.sztzjy.bank.entity;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;
/**
*
*
@ -71,9 +74,13 @@ public class LoanApplication {
private String userId;
@ApiModelProperty(notes = "创建时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
@ApiModelProperty(notes = "更新时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date updateTime;
@ApiModelProperty(notes = "保存状态(0未保存、1已保存)")

@ -0,0 +1,221 @@
package com.sztzjy.bank.entity;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
/**
* /
*
* @author whb
* payment_acceptance
*/
public class PaymentAcceptance {
@ApiModelProperty(notes = "ID")
private String id;
@ApiModelProperty(notes = "收款行代码")
private String receivingBankCode;
@ApiModelProperty(notes = "收费方式")
private String chargingMethod;
@ApiModelProperty(notes = "我行代码")
private String writeCode;
@ApiModelProperty(notes = "电报费类型")
private String telegramFeeType;
@ApiModelProperty(notes = "承兑币种")
private String acceptanceCurrency;
@ApiModelProperty(notes = "承兑金额")
private String acceptanceAmount;
@ApiModelProperty(notes = "受益人")
private String beneficiary;
@ApiModelProperty(notes = "受益人结算账号")
private String benSettlementAccount;
@ApiModelProperty(notes = "付款人结算账号")
private String payerSettlementAccount;
@ApiModelProperty(notes = "付款人名称")
private String payerName;
@ApiModelProperty(notes = "扣费账号")
private String deductionAccount;
@ApiModelProperty(notes = "创建时间")
private Date createTime;
@ApiModelProperty(notes = "更新时间")
private Date updateTime;
@ApiModelProperty(notes = "保存状态(0未保存、1已保存)")
private Integer saveStatus;
@ApiModelProperty(notes = "提交状态(0未提交、1已提交)")
private Integer submitStatus;
@ApiModelProperty(notes = "用户ID")
private String userId;
@ApiModelProperty(notes = "错误次数")
private Integer errorNumber;
@ApiModelProperty(notes = "第几套案例1、2、3")
private Integer number;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id == null ? null : id.trim();
}
public String getReceivingBankCode() {
return receivingBankCode;
}
public void setReceivingBankCode(String receivingBankCode) {
this.receivingBankCode = receivingBankCode == null ? null : receivingBankCode.trim();
}
public String getChargingMethod() {
return chargingMethod;
}
public void setChargingMethod(String chargingMethod) {
this.chargingMethod = chargingMethod == null ? null : chargingMethod.trim();
}
public String getWriteCode() {
return writeCode;
}
public void setWriteCode(String writeCode) {
this.writeCode = writeCode == null ? null : writeCode.trim();
}
public String getTelegramFeeType() {
return telegramFeeType;
}
public void setTelegramFeeType(String telegramFeeType) {
this.telegramFeeType = telegramFeeType == null ? null : telegramFeeType.trim();
}
public String getAcceptanceCurrency() {
return acceptanceCurrency;
}
public void setAcceptanceCurrency(String acceptanceCurrency) {
this.acceptanceCurrency = acceptanceCurrency == null ? null : acceptanceCurrency.trim();
}
public String getAcceptanceAmount() {
return acceptanceAmount;
}
public void setAcceptanceAmount(String acceptanceAmount) {
this.acceptanceAmount = acceptanceAmount == null ? null : acceptanceAmount.trim();
}
public String getBeneficiary() {
return beneficiary;
}
public void setBeneficiary(String beneficiary) {
this.beneficiary = beneficiary == null ? null : beneficiary.trim();
}
public String getBenSettlementAccount() {
return benSettlementAccount;
}
public void setBenSettlementAccount(String benSettlementAccount) {
this.benSettlementAccount = benSettlementAccount == null ? null : benSettlementAccount.trim();
}
public String getPayerSettlementAccount() {
return payerSettlementAccount;
}
public void setPayerSettlementAccount(String payerSettlementAccount) {
this.payerSettlementAccount = payerSettlementAccount == null ? null : payerSettlementAccount.trim();
}
public String getPayerName() {
return payerName;
}
public void setPayerName(String payerName) {
this.payerName = payerName == null ? null : payerName.trim();
}
public String getDeductionAccount() {
return deductionAccount;
}
public void setDeductionAccount(String deductionAccount) {
this.deductionAccount = deductionAccount == null ? null : deductionAccount.trim();
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getUpdateTime() {
return updateTime;
}
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public Integer getSaveStatus() {
return saveStatus;
}
public void setSaveStatus(Integer saveStatus) {
this.saveStatus = saveStatus;
}
public Integer getSubmitStatus() {
return submitStatus;
}
public void setSubmitStatus(Integer submitStatus) {
this.submitStatus = submitStatus;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId == null ? null : userId.trim();
}
public Integer getErrorNumber() {
return errorNumber;
}
public void setErrorNumber(Integer errorNumber) {
this.errorNumber = errorNumber;
}
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
}

@ -2,7 +2,10 @@ package com.sztzjy.bank.entity;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;
/**
*
*
@ -26,9 +29,13 @@ public class PerLoanCustomerSurvey {
private String userId;
@ApiModelProperty(notes = "创建时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
@ApiModelProperty(notes = "更新时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date updateTime;
@ApiModelProperty(notes = "保存状态(0未保存、1已保存)")

@ -44,6 +44,9 @@ public class StuGradeManagement {
@ApiModelProperty(notes = "更新时间")
private Date updateTime;
@ApiModelProperty(notes = "学校ID")
private String schoolId;
public String getId() {
return id;
}
@ -131,4 +134,12 @@ public class StuGradeManagement {
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
public String getSchoolId() {
return schoolId;
}
public void setSchoolId(String schoolId) {
this.schoolId = schoolId == null ? null : schoolId.trim();
}
}

@ -805,6 +805,76 @@ public class StuGradeManagementExample {
addCriterion("update_time not between", value1, value2, "updateTime");
return (Criteria) this;
}
public Criteria andSchoolIdIsNull() {
addCriterion("school_id is null");
return (Criteria) this;
}
public Criteria andSchoolIdIsNotNull() {
addCriterion("school_id is not null");
return (Criteria) this;
}
public Criteria andSchoolIdEqualTo(String value) {
addCriterion("school_id =", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdNotEqualTo(String value) {
addCriterion("school_id <>", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdGreaterThan(String value) {
addCriterion("school_id >", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdGreaterThanOrEqualTo(String value) {
addCriterion("school_id >=", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdLessThan(String value) {
addCriterion("school_id <", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdLessThanOrEqualTo(String value) {
addCriterion("school_id <=", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdLike(String value) {
addCriterion("school_id like", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdNotLike(String value) {
addCriterion("school_id not like", value, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdIn(List<String> values) {
addCriterion("school_id in", values, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdNotIn(List<String> values) {
addCriterion("school_id not in", values, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdBetween(String value1, String value2) {
addCriterion("school_id between", value1, value2, "schoolId");
return (Criteria) this;
}
public Criteria andSchoolIdNotBetween(String value1, String value2) {
addCriterion("school_id not between", value1, value2, "schoolId");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {

@ -60,7 +60,7 @@ public class StuUser {
private Double practiceProgress;
@ApiModelProperty(notes = "练习时长(单位分钟)")
private Integer practiceDuration;
private Double practiceDuration;
@ApiModelProperty(notes = "练习成绩")
private BigDecimal practiceResults;
@ -196,11 +196,11 @@ public class StuUser {
this.practiceProgress = practiceProgress;
}
public Integer getPracticeDuration() {
public Double getPracticeDuration() {
return practiceDuration;
}
public void setPracticeDuration(Integer practiceDuration) {
public void setPracticeDuration(Double practiceDuration) {
this.practiceDuration = practiceDuration;
}

@ -1166,52 +1166,52 @@ public class StuUserExample {
return (Criteria) this;
}
public Criteria andPracticeDurationEqualTo(Integer value) {
public Criteria andPracticeDurationEqualTo(Double value) {
addCriterion("practice_duration =", value, "practiceDuration");
return (Criteria) this;
}
public Criteria andPracticeDurationNotEqualTo(Integer value) {
public Criteria andPracticeDurationNotEqualTo(Double value) {
addCriterion("practice_duration <>", value, "practiceDuration");
return (Criteria) this;
}
public Criteria andPracticeDurationGreaterThan(Integer value) {
public Criteria andPracticeDurationGreaterThan(Double value) {
addCriterion("practice_duration >", value, "practiceDuration");
return (Criteria) this;
}
public Criteria andPracticeDurationGreaterThanOrEqualTo(Integer value) {
public Criteria andPracticeDurationGreaterThanOrEqualTo(Double value) {
addCriterion("practice_duration >=", value, "practiceDuration");
return (Criteria) this;
}
public Criteria andPracticeDurationLessThan(Integer value) {
public Criteria andPracticeDurationLessThan(Double value) {
addCriterion("practice_duration <", value, "practiceDuration");
return (Criteria) this;
}
public Criteria andPracticeDurationLessThanOrEqualTo(Integer value) {
public Criteria andPracticeDurationLessThanOrEqualTo(Double value) {
addCriterion("practice_duration <=", value, "practiceDuration");
return (Criteria) this;
}
public Criteria andPracticeDurationIn(List<Integer> values) {
public Criteria andPracticeDurationIn(List<Double> values) {
addCriterion("practice_duration in", values, "practiceDuration");
return (Criteria) this;
}
public Criteria andPracticeDurationNotIn(List<Integer> values) {
public Criteria andPracticeDurationNotIn(List<Double> values) {
addCriterion("practice_duration not in", values, "practiceDuration");
return (Criteria) this;
}
public Criteria andPracticeDurationBetween(Integer value1, Integer value2) {
public Criteria andPracticeDurationBetween(Double value1, Double value2) {
addCriterion("practice_duration between", value1, value2, "practiceDuration");
return (Criteria) this;
}
public Criteria andPracticeDurationNotBetween(Integer value1, Integer value2) {
public Criteria andPracticeDurationNotBetween(Double value1, Double value2) {
addCriterion("practice_duration not between", value1, value2, "practiceDuration");
return (Criteria) this;
}

@ -41,4 +41,7 @@ public class CreditDataDTO {
@ApiModelProperty(notes = "第几套案例1、2、3")
private Integer number;
@ApiModelProperty(notes = "总错误次数")
private Integer errorNumber;
}

@ -32,4 +32,7 @@ public class LoanApplicationDTO {
@ApiModelProperty(notes = "大模块(如:个人银行卡业务、个人存取款业务等)")
private String largeModule;
@ApiModelProperty(notes = "总错误次数")
private Integer errorNumber;
}

@ -0,0 +1,44 @@
package com.sztzjy.bank.entity.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author tz
* @date 2025/3/19 9:13
*/
@Data
public class PaymentAcceptanceDTO {
@ApiModelProperty(notes = "收款行代码")
private String receivingBankCode;
@ApiModelProperty(notes = "收费方式")
private String chargingMethod;
@ApiModelProperty(notes = "我行代码")
private String writeCode;
@ApiModelProperty(notes = "电报费类型")
private String telegramFeeType;
@ApiModelProperty(notes = "承兑币种")
private String acceptanceCurrency;
@ApiModelProperty(notes = "承兑金额")
private String acceptanceAmount;
@ApiModelProperty(notes = "受益人")
private String beneficiary;
@ApiModelProperty(notes = "受益人结算账号")
private String benSettlementAccount;
@ApiModelProperty(notes = "付款人结算账号")
private String payerSettlementAccount;
@ApiModelProperty(notes = "付款人名称")
private String payerName;
@ApiModelProperty(notes = "扣费账号")
private String deductionAccount;
}

@ -21,13 +21,13 @@ public class StuAcademicRecordDTO {
private String businessName;
@ApiModelProperty(notes = "练习进度")
private Double practiceProgress;
private double practiceProgress;
@ApiModelProperty(notes = "练习次数")
private Integer practiceFrequency;
@ApiModelProperty(notes = "练习时长")
private String practiceDuration;
private double practiceDuration;
@ApiModelProperty(notes = "练习成绩")
private BigDecimal practiceResults;
@ -38,4 +38,7 @@ public class StuAcademicRecordDTO {
@ApiModelProperty(notes = "加权得分")
private BigDecimal score;
@ApiModelProperty(notes = "错误次数")
private double errorsNumber;
}

@ -0,0 +1,29 @@
package com.sztzjy.bank.entity.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author tz
* @date 2025/3/18 10:36
*/
@Data
public class TchProjectAnalysisDTO {
@ApiModelProperty(notes = "业务名称")
private String businessName;
@ApiModelProperty(notes = "平均练习进度")
private double practiceProgress;
@ApiModelProperty(notes = "平均练习时长")
private double practiceDuration;
@ApiModelProperty(notes = "平均练习成绩")
private BigDecimal practiceResults;
@ApiModelProperty(notes = "平均错误次数")
private double AverageErrorsNumber;
}

@ -0,0 +1,30 @@
package com.sztzjy.bank.mapper;
import com.sztzjy.bank.entity.PaymentAcceptance;
import com.sztzjy.bank.entity.PaymentAcceptanceExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface PaymentAcceptanceMapper {
long countByExample(PaymentAcceptanceExample example);
int deleteByExample(PaymentAcceptanceExample example);
int deleteByPrimaryKey(String id);
int insert(PaymentAcceptance record);
int insertSelective(PaymentAcceptance record);
List<PaymentAcceptance> selectByExample(PaymentAcceptanceExample example);
PaymentAcceptance selectByPrimaryKey(String id);
int updateByExampleSelective(@Param("record") PaymentAcceptance record, @Param("example") PaymentAcceptanceExample example);
int updateByExample(@Param("record") PaymentAcceptance record, @Param("example") PaymentAcceptanceExample example);
int updateByPrimaryKeySelective(PaymentAcceptance record);
int updateByPrimaryKey(PaymentAcceptance record);
}

@ -41,4 +41,7 @@ public interface ImportletterService {
RegistrationDTO getOrderRegistration(String userId, Integer number, String module);
String getCodeByNameAndAddress(String userId, Integer number, String code);
Integer submitPaymentAcceptance(PaymentAcceptance paymentAcceptance);
}

@ -1,5 +1,7 @@
package com.sztzjy.bank.service;
import com.sztzjy.bank.entity.StuGradeManagement;
import com.sztzjy.bank.entity.TchScoreWeight;
import com.sztzjy.bank.entity.dto.CaseInfoDTO;
import com.sztzjy.bank.entity.dto.StuAcademicRecordDTO;
@ -15,4 +17,8 @@ public interface StuGradeManagementService {
CaseInfoDTO getCaseInfo(String userId, String largeModule, String module);
void reTraining(String userId, String largeModule, String module);
//成绩信息统计
List<StuAcademicRecordDTO> getAcademicRecordDTO(List<StuGradeManagement> stuGradeManagements, TchScoreWeight tchScoreWeight,String userId);
}

@ -1,6 +1,8 @@
package com.sztzjy.bank.service;
import com.github.pagehelper.PageInfo;
import com.sztzjy.bank.entity.StuUser;
import com.sztzjy.bank.entity.dto.TchProjectAnalysisDTO;
import java.util.List;
@ -9,6 +11,7 @@ import java.util.List;
* @date 2025/3/14 17:49
*/
public interface TchSummaryGradesService {
List<StuUser> getSummaryGrades(String schoolId);
PageInfo<StuUser> getSummaryGrades(String schoolId, Integer index, Integer size,String studentId,String userName,String className);
List<TchProjectAnalysisDTO> getProjectAnalysis(String schoolId);
}

@ -7,6 +7,7 @@ import com.sztzjy.bank.entity.*;
import com.sztzjy.bank.entity.dto.*;
import com.sztzjy.bank.mapper.*;
import com.sztzjy.bank.service.CorporateLoanBusinessService;
import com.sztzjy.bank.service.IUpdateScoreInfo;
import com.sztzjy.bank.service.PersonalLoanService;
import com.sztzjy.bank.util.ConvertUtil;
import com.sztzjy.bank.util.RedisUtil;
@ -59,6 +60,8 @@ public class CorporateLoanBusinessServiceImpl implements CorporateLoanBusinessSe
LoanApplicationMapper loanApplicationMapper;
@Autowired
PostLoanInvestigationMapper loanInvestigationMapper;
@Autowired
IUpdateScoreInfo updateScoreInfo;
@Override
public Integer submitCompanyCustomerInfo(CompanyCustomerInformation customerInformation) {
CompanyCustomerInformationExample customerInformationExample=new CompanyCustomerInformationExample();
@ -74,7 +77,7 @@ public class CorporateLoanBusinessServiceImpl implements CorporateLoanBusinessSe
if(customerInformation.getSubmitStatus()==1){ //提交则计算错误次数
//判断用户是否完成上一个流程,并更新操作步骤序号
if(!personalLoanService.ProcessJudgment(1,customerInformation.getUserId(),"公贷款业务")){
if(!personalLoanService.ProcessJudgment(1,customerInformation.getUserId(),"司抵押贷款业务")){
throw new ServiceException(HttpStatus.ACCEPTED,"请先完成上一流程");
}
@ -82,6 +85,9 @@ public class CorporateLoanBusinessServiceImpl implements CorporateLoanBusinessSe
//计算错误次数
customerInformation = countByCCompanyCustomerInfo(customerInformation);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(customerInformation.getUserId(),"对公贷款业务","公司抵押贷款业务",customerInformation.getErrorNumber(),1);
//生成唯一的九位数的客户号,去重
int random;
List<CompanyCustomerInformation> customerInformationList;
@ -116,7 +122,7 @@ public class CorporateLoanBusinessServiceImpl implements CorporateLoanBusinessSe
if(customerInformation.getSubmitStatus()==1){ //提交则计算错误次数
//判断用户是否完成上一个流程,并更新操作步骤序号
if(!personalLoanService.ProcessJudgment(1,customerInformation.getUserId(),"公贷款业务")){
if(!personalLoanService.ProcessJudgment(1,customerInformation.getUserId(),"司抵押贷款业务")){
throw new ServiceException(HttpStatus.ACCEPTED,"请先完成上一流程");
}
@ -124,6 +130,9 @@ public class CorporateLoanBusinessServiceImpl implements CorporateLoanBusinessSe
//计算错误次数
customerInformation = countByCCompanyCustomerInfo(customerInformation);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(customerInformation.getUserId(),"对公贷款业务","公司抵押贷款业务",customerInformation.getErrorNumber(),1);
//生成唯一的九位数的客户号,去重
int random;
List<CompanyCustomerInformation> customerInformationList;
@ -176,7 +185,7 @@ public class CorporateLoanBusinessServiceImpl implements CorporateLoanBusinessSe
if(accountOpening.getSubmitStatus()==1){ //提交则计算错误次数
//判断用户是否完成上一个流程,并更新操作步骤序号
if(!personalLoanService.ProcessJudgment(2,accountOpening.getUserId(),"公贷款业务")){
if(!personalLoanService.ProcessJudgment(2,accountOpening.getUserId(),"司抵押贷款业务")){
throw new ServiceException(HttpStatus.ACCEPTED,"请先完成上一流程");
}
@ -184,6 +193,9 @@ public class CorporateLoanBusinessServiceImpl implements CorporateLoanBusinessSe
//计算错误次数
accountOpening = countByAccountOpening(accountOpening);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(accountOpening.getUserId(),"对公贷款业务","公司抵押贷款业务",accountOpening.getErrorNumber(),2);
//生成唯一的15位数的对公账号,去重
int random;
List<CompanyAccountOpening> accountOpeningList;
@ -218,7 +230,7 @@ public class CorporateLoanBusinessServiceImpl implements CorporateLoanBusinessSe
if(accountOpening.getSubmitStatus()==1){ //提交则计算错误次数
//判断用户是否完成上一个流程,并更新操作步骤序号
if(!personalLoanService.ProcessJudgment(2,accountOpening.getUserId(),"公贷款业务")){
if(!personalLoanService.ProcessJudgment(2,accountOpening.getUserId(),"司抵押贷款业务")){
throw new ServiceException(HttpStatus.ACCEPTED,"请先完成上一流程");
}
@ -226,6 +238,9 @@ public class CorporateLoanBusinessServiceImpl implements CorporateLoanBusinessSe
//计算错误次数
accountOpening = countByAccountOpening(accountOpening);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(accountOpening.getUserId(),"对公贷款业务","公司抵押贷款业务",accountOpening.getErrorNumber(),2);
//生成唯一的15位数的对公账号,去重
int random;
List<CompanyAccountOpening> accountOpeningList;
@ -291,6 +306,9 @@ public class CorporateLoanBusinessServiceImpl implements CorporateLoanBusinessSe
//计算错误次数
dataArchiving = countByCreditDataArchiving(dataArchiving);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(dataArchiving.getUserId(),"对公贷款业务","公司抵押贷款业务",dataArchiving.getErrorNumber(),3);
}
@ -317,6 +335,9 @@ public class CorporateLoanBusinessServiceImpl implements CorporateLoanBusinessSe
//计算错误次数
dataArchiving = countByCreditDataArchiving(dataArchiving);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(dataArchiving.getUserId(),"对公贷款业务","公司抵押贷款业务",dataArchiving.getErrorNumber(),3);
}
}

@ -1,11 +1,9 @@
package com.sztzjy.bank.service.impl;
import cn.hutool.core.util.IdUtil;
import com.sztzjy.bank.entity.StuGradeManagement;
import com.sztzjy.bank.entity.StuGradeManagementExample;
import com.sztzjy.bank.entity.TotalNumberInfo;
import com.sztzjy.bank.entity.TotalNumberInfoExample;
import com.sztzjy.bank.entity.*;
import com.sztzjy.bank.mapper.StuGradeManagementMapper;
import com.sztzjy.bank.mapper.StuUserMapper;
import com.sztzjy.bank.mapper.TotalNumberInfoMapper;
import com.sztzjy.bank.service.IUpdateScoreInfo;
import com.sztzjy.bank.util.BigDecimalUtils;
@ -31,6 +29,8 @@ public class IUpdateScoreInfoImpl implements IUpdateScoreInfo {
StuGradeManagementMapper gradeManagementMapper;
@Autowired
BigDecimalUtils bigDecimalUtils;
@Autowired
StuUserMapper stuUserMapper;
@Override
public void UpdateScoreInfo(String userId,String largeModule, String module, Integer errorsNumber, Integer processNumber) {
@ -40,6 +40,7 @@ public class IUpdateScoreInfoImpl implements IUpdateScoreInfo {
.andModuleEqualTo(module);
List<TotalNumberInfo> totalNumberInfos = numberInfoMapper.selectByExample(numberInfoExample);
StuUser stuUser = stuUserMapper.selectByPrimaryKey(userId);
if(!CollectionUtils.isEmpty(totalNumberInfos)){
Integer totalNumber = totalNumberInfos.get(0).getTotalNumber(); //总步骤数
@ -63,6 +64,7 @@ public class IUpdateScoreInfoImpl implements IUpdateScoreInfo {
stuGradeManagement.setPracticeProgress(format);
stuGradeManagement.setPracticeFrequency(1);
stuGradeManagement.setPracticeDuration(0);
stuGradeManagement.setSchoolId(stuUser.getSchoolId());
//练习成绩计算 100-错误次数)*进度
double score=bigDecimalUtils.mul(bigDecimalUtils.sub(100.0, Double.valueOf(errorsNumber)),format,2);
stuGradeManagement.setPracticeResults(BigDecimal.valueOf(score));

@ -54,6 +54,8 @@ public class ImportletterServiceImpl implements ImportletterService {
ImportBillAdvanceMapper importBillAdvanceMapper;
@Autowired
OrderRegistrationMapper orderRegistrationMapper;
@Autowired
PaymentAcceptanceMapper paymentAcceptanceMapper;
//进口信用证业务-签署合同-提交保存
@ -722,6 +724,64 @@ public class ImportletterServiceImpl implements ImportletterService {
return null;
}
@Override
public Integer submitPaymentAcceptance(PaymentAcceptance paymentAcceptance) {
PaymentAcceptanceExample acceptanceExample = new PaymentAcceptanceExample();
acceptanceExample.createCriteria().andUserIdEqualTo(paymentAcceptance.getUserId())
.andNumberEqualTo(paymentAcceptance.getNumber());
List<PaymentAcceptance> acceptances = paymentAcceptanceMapper.selectByExample(acceptanceExample);
if (CollectionUtils.isEmpty(acceptances)) { //添加数据
paymentAcceptance.setId(IdUtil.simpleUUID());
paymentAcceptance.setCreateTime(new Date());
//检验是提交还是保存
if (paymentAcceptance.getSubmitStatus() == 1) { //提交则计算错误次数
//判断用户是否完成上一个流程,并更新操作步骤序号
if (!personalLoanService.ProcessJudgment(7, paymentAcceptance.getUserId(), "进口信用证业务")) {
throw new ServiceException(HttpStatus.ACCEPTED, "请先完成上一流程");
}
//计算错误次数
paymentAcceptance = countByPaymentAcceptance(paymentAcceptance);
}
//否则保存不计算,直接添加
return paymentAcceptanceMapper.insertSelective(paymentAcceptance);
} else { //已有操作记录
PaymentAcceptance acceptance = acceptances.get(0);
//取出id以防被覆盖
String id = acceptance.getId();
//判断是否已经提交,已提交保存记录不计分,未提交保存记录并计分
if (paymentAcceptance.getSubmitStatus() != 1) {
//判断用户是否完成上一个流程,并更新操作步骤序号
if (!personalLoanService.ProcessJudgment(7, paymentAcceptance.getUserId(), "进口信用证业务")) {
throw new ServiceException(HttpStatus.ACCEPTED, "请先完成上一流程");
}
//计算错误次数
paymentAcceptance = countByPaymentAcceptance(paymentAcceptance);
}
paymentAcceptance.setId(id);
paymentAcceptance.setUpdateTime(new Date());
return paymentAcceptanceMapper.updateByPrimaryKeySelective(paymentAcceptance);
}
}
//开证申请计算
private ApplicationOpeningLetterCredit countByPostLoanInvestigation(ApplicationOpeningLetterCredit openingLetterCredit,int i) {
@ -890,4 +950,46 @@ public class ImportletterServiceImpl implements ImportletterService {
}
}
//付款/承兑计算
private PaymentAcceptance countByPaymentAcceptance(PaymentAcceptance paymentAcceptance) {
String answer = redisUtil.get("bank" + "-进口信用证业务" + "-付款");
if (answer == null) {
CaseInfoExample caseInfoExample = new CaseInfoExample();
caseInfoExample.createCriteria().andLargeModuleEqualTo("进口信用证业务").andModuleEqualTo("付款")
.andNumberEqualTo(paymentAcceptance.getNumber());
List<CaseInfo> caseInfoList = caseInfoMapper.selectByExampleWithBLOBs(caseInfoExample);
if (!CollectionUtils.isEmpty(caseInfoList)) {
CaseInfo caseInfo = caseInfoList.get(0);
CaseAnswerInfoExample caseAnswerInfoExample = new CaseAnswerInfoExample();
caseAnswerInfoExample.createCriteria().andCaseIdEqualTo(caseInfo.getCaseId());
List<CaseAnswerInfo> answerInfoList = caseAnswerInfoMapper.selectByExampleWithBLOBs(caseAnswerInfoExample);
if (!CollectionUtils.isEmpty(answerInfoList)) {
String info = answerInfoList.get(0).getAnswer();
redisUtil.set("bank" + "-进口信用证业务" + "-付款",info,3600);
answer=redisUtil.get("bank" + "-进口信用证业务" + "-付款");
}
}
}
// 解析 JSON 字符串
PaymentAcceptance acceptance= JSON.parseObject(answer, PaymentAcceptance.class);
PaymentAcceptanceDTO answerDTO= convertUtil.entityToDTO(acceptance, PaymentAcceptanceDTO.class);
PaymentAcceptanceDTO acceptanceDTO = convertUtil.entityToDTO(paymentAcceptance, PaymentAcceptanceDTO.class);
try {
int update = ObjectComparatorUtil.countDifferences(answerDTO, acceptanceDTO);
//错误次数
paymentAcceptance.setErrorNumber(update);
return paymentAcceptance;
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}
}

@ -7,6 +7,7 @@ import com.sztzjy.bank.config.exception.handler.ServiceException;
import com.sztzjy.bank.entity.*;
import com.sztzjy.bank.entity.dto.*;
import com.sztzjy.bank.mapper.*;
import com.sztzjy.bank.service.IUpdateScoreInfo;
import com.sztzjy.bank.service.PersonalLoanService;
import com.sztzjy.bank.util.BigDecimalUtils;
import com.sztzjy.bank.util.ConvertUtil;
@ -80,6 +81,8 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
BigDecimalUtils bigDecimalUtils;
@Autowired
PostLoanTrackingMapper postLoanTrackingMapper;
@Autowired
IUpdateScoreInfo updateScoreInfo;
@Override
public Integer submitCustomerInfo(PerConsumerLoanCustomerInfo loanCustomerInfo) {
PerConsumerLoanCustomerInfoExample loanCustomerInfoExample=new PerConsumerLoanCustomerInfoExample();
@ -103,6 +106,9 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
loanCustomerInfo = submitByCustomerInfoCaculate(loanCustomerInfo);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(loanCustomerInfo.getUserId(),"个人贷款业务","个人消费贷款业务",loanCustomerInfo.getErrorNumber(),1);
//生成唯一的九位数的客户号,去重
int random;
List<PerConsumerLoanCustomerInfo> loanCustomerInfoList;
@ -144,6 +150,9 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
loanCustomerInfo = submitByCustomerInfoCaculate(loanCustomerInfo);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(loanCustomerInfo.getUserId(),"个人贷款业务","个人消费贷款业务",loanCustomerInfo.getErrorNumber(),1);
//生成唯一的九位数的客户号,去重
int random;
List<PerConsumerLoanCustomerInfo> loanCustomerInfoList;
@ -214,6 +223,9 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
currentAccount = submitByCurrentAccountCaculate(currentAccount);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(currentAccount.getUserId(),"个人贷款业务","个人消费贷款业务",currentAccount.getErrorNumber(),2);
//生成银行账号
Random random = new Random();
@ -249,6 +261,9 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
currentAccount = submitByCurrentAccountCaculate(currentAccount);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(currentAccount.getUserId(),"个人贷款业务","个人消费贷款业务",currentAccount.getErrorNumber(),2);
//生成银行账号
Random random = new Random();
@ -404,6 +419,13 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
creditDataDTO = submitCreditCardCollectionAndCalculation(creditDataDTO);
//统计错误次数
//更新成绩表
updateScoreInfo.UpdateScoreInfo(creditDataDTO.getUserId(),"个人贷款业务","个人消费贷款业务",creditDataDTO.getErrorNumber(),3);
//修改提交状态
for (CreditCardCollectionInfo cardCollectionInfo:creditDataDTO.getCardCollectionInfos()) {
cardCollectionInfo.setSubmitStatus(1);
@ -575,6 +597,9 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
creditDataDTO = submitCreditCardCollectionAndCalculation(creditDataDTO);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(creditDataDTO.getUserId(),"个人贷款业务","个人消费贷款业务",creditDataDTO.getErrorNumber(),3);
//修改提交状态
for (CreditCardCollectionInfo cardCollectionInfo:creditDataDTO.getCardCollectionInfos()) {
cardCollectionInfo.setSubmitStatus(1);
@ -741,6 +766,9 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
creditReview = submitByCreditReview(creditReview);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(creditReview.getUserId(),"个人贷款业务","个人消费贷款业务",creditReview.getErrorNumber(),4);
}
@ -766,6 +794,9 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
creditReview = submitByCreditReview(creditReview);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(creditReview.getUserId(),"个人贷款业务","个人消费贷款业务",creditReview.getErrorNumber(),4);
}
}
@ -799,36 +830,31 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
if(CollectionUtils.isEmpty(customerSurveys)){ //添加数据
//贷前客户调查
if(loanApplicationDTO.getCustomerSurvey()==null){
throw new ServiceException(HttpStatus.ACCEPTED,"必选项未填写");
}else {
loanApplicationDTO.getCustomerSurvey().setId(IdUtil.simpleUUID());
loanApplicationDTO.getCustomerSurvey().setCreateTime(new Date());
loanApplicationDTO.getCustomerSurvey().setUserId(loanApplicationDTO.getUserId());
loanApplicationDTO.getCustomerSurvey().setNumber(loanApplicationDTO.getNumber());
}
loanApplicationDTO.getCustomerSurvey().setId(IdUtil.simpleUUID());
loanApplicationDTO.getCustomerSurvey().setCreateTime(new Date());
loanApplicationDTO.getCustomerSurvey().setUserId(loanApplicationDTO.getUserId());
loanApplicationDTO.getCustomerSurvey().setNumber(loanApplicationDTO.getNumber());
loanApplicationDTO.getCustomerSurvey().setSubmitStatus(loanApplicationDTO.getStatus());
//业务担保信息
if(loanApplicationDTO.getGuaranteeInfo()==null){
throw new ServiceException(HttpStatus.ACCEPTED,"必选项未填写");
}else {
loanApplicationDTO.getGuaranteeInfo().setId(IdUtil.simpleUUID());
loanApplicationDTO.getGuaranteeInfo().setCreateTime(new Date());
loanApplicationDTO.getGuaranteeInfo().setUserId(loanApplicationDTO.getUserId());
loanApplicationDTO.getGuaranteeInfo().setNumber(loanApplicationDTO.getNumber());
}
loanApplicationDTO.getGuaranteeInfo().setId(IdUtil.simpleUUID());
loanApplicationDTO.getGuaranteeInfo().setCreateTime(new Date());
loanApplicationDTO.getGuaranteeInfo().setUserId(loanApplicationDTO.getUserId());
loanApplicationDTO.getGuaranteeInfo().setNumber(loanApplicationDTO.getNumber());
loanApplicationDTO.getGuaranteeInfo().setSubmitStatus(loanApplicationDTO.getStatus());
//贷款申请
if(loanApplicationDTO.getLoanApplication()==null){
throw new ServiceException(HttpStatus.ACCEPTED,"必选项未填写");
}else {
loanApplicationDTO.getLoanApplication().setId(IdUtil.simpleUUID());
loanApplicationDTO.getLoanApplication().setCreateTime(new Date());
loanApplicationDTO.getLoanApplication().setUserId(loanApplicationDTO.getUserId());
loanApplicationDTO.getLoanApplication().setNumber(loanApplicationDTO.getNumber());
}
loanApplicationDTO.getLoanApplication().setId(IdUtil.simpleUUID());
loanApplicationDTO.getLoanApplication().setCreateTime(new Date());
loanApplicationDTO.getLoanApplication().setUserId(loanApplicationDTO.getUserId());
loanApplicationDTO.getLoanApplication().setNumber(loanApplicationDTO.getNumber());
loanApplicationDTO.getLoanApplication().setLargeModule(loanApplicationDTO.getLargeModule());
loanApplicationDTO.getLoanApplication().setSubmitStatus(loanApplicationDTO.getStatus());
//检验是提交还是保存
if(loanApplicationDTO.getStatus()==1){ //提交则计算错误次数
@ -841,6 +867,9 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
loanApplicationDTO = computeloanApplication(loanApplicationDTO);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(loanApplicationDTO.getUserId(),"个人贷款业务","个人消费贷款业务",loanApplicationDTO.getErrorNumber(),5);
//修改提交状态
loanApplicationDTO.getCustomerSurvey().setSubmitStatus(1);
loanApplicationDTO.getGuaranteeInfo().setSubmitStatus(1);
@ -883,6 +912,9 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
loanApplicationDTO = computeloanApplication(loanApplicationDTO);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(loanApplicationDTO.getUserId(),"个人贷款业务","个人消费贷款业务",loanApplicationDTO.getErrorNumber(),5);
//修改提交状态
loanApplicationDTO.getCustomerSurvey().setSubmitStatus(1);
@ -965,7 +997,7 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
LoanApplicationExample loanApplicationExample=new LoanApplicationExample();
loanApplicationExample.createCriteria().andUserIdEqualTo(signLoanContract.getUserId())
.andNumberEqualTo(signLoanContract.getNumber())
.andLargeModuleEqualTo(signLoanContract.getLargeModule());
.andLargeModuleEqualTo(signLoanContract.getLargeModule()).andSubmitStatusEqualTo(1);
List<LoanApplication> loanApplications = loanApplicationMapper.selectByExample(loanApplicationExample);
int i=0; //错误次数
@ -995,7 +1027,7 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
BusinessGuaranteeInfoExample guaranteeInfoExample=new BusinessGuaranteeInfoExample();
guaranteeInfoExample.createCriteria().andUserIdEqualTo(signLoanContract.getUserId())
.andNumberEqualTo(signLoanContract.getNumber())
.andLargeModuleEqualTo(signLoanContract.getLargeModule());
.andLargeModuleEqualTo(signLoanContract.getLargeModule()).andSubmitStatusEqualTo(1);
List<BusinessGuaranteeInfo> businessGuaranteeInfos = guaranteeInfoMapper.selectByExample(guaranteeInfoExample);
if(!CollectionUtils.isEmpty(businessGuaranteeInfos)){
//到期时间<=担保结束日期
@ -1020,14 +1052,14 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//检验是提交还是保存
if(signLoanContract.getSubmitStatus()==1){ //提交则计算错误次数
if(signLoanContract.getLargeModule().equals("个人消费贷款业务")){
if(signLoanContract.getLargeModule().equals("个人贷款业务")){
//判断用户是否完成上一个流程,并更新操作步骤序号
if(!ProcessJudgment(6,signLoanContract.getUserId(),"个人消费贷款业务")){
throw new ServiceException(HttpStatus.ACCEPTED,"请先完成上一流程");
}
}
if(signLoanContract.getLargeModule().equals("司抵押贷款业务")){
if(signLoanContract.getLargeModule().equals("公贷款业务")){
//判断用户是否完成上一个流程,并更新操作步骤序号
if(!ProcessJudgment(10,signLoanContract.getUserId(),"公司抵押贷款业务")){
throw new ServiceException(HttpStatus.ACCEPTED,"请先完成上一流程");
@ -1037,6 +1069,18 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
signLoanContract = computeSignLoanContract(signLoanContract,i);
if(signLoanContract.getLargeModule().equals("个人贷款业务")){
//更新成绩表
updateScoreInfo.UpdateScoreInfo(signLoanContract.getUserId(),"个人贷款业务","个人消费贷款业务",signLoanContract.getErrorNumber(),6);
}
if(signLoanContract.getLargeModule().equals("对公贷款业务")){
//更新成绩表
updateScoreInfo.UpdateScoreInfo(signLoanContract.getUserId(),"对公贷款业务","公司抵押贷款业务",signLoanContract.getErrorNumber(),10);
}
//生成唯一的13位数的合同编号,去重
int random;
List<SignLoanContract> signLoanContractList;
@ -1087,6 +1131,17 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
signLoanContract = computeSignLoanContract(signLoanContract,i);
if(signLoanContract.getLargeModule().equals("个人贷款业务")){
//更新成绩表
updateScoreInfo.UpdateScoreInfo(signLoanContract.getUserId(),"个人贷款业务","个人消费贷款业务",signLoanContract.getErrorNumber(),6);
}
if(signLoanContract.getLargeModule().equals("对公贷款业务")){
//更新成绩表
updateScoreInfo.UpdateScoreInfo(signLoanContract.getUserId(),"对公贷款业务","公司抵押贷款业务",signLoanContract.getErrorNumber(),10);
}
//生成唯一的13位数的合同编号,去重
int random;
List<SignLoanContract> signLoanContractList;
@ -1145,18 +1200,7 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
@Override
public Integer submitNormalRepayment(NormalRepayment normalRepayment) {
//参数校验
int i = 0; //错误次数
//还款金额<=贷款余额与利息和
double sum = Double.parseDouble(normalRepayment.getLoanBalance()) + Double.parseDouble(normalRepayment.getInterest()); //贷款余额与利息和
if (Double.parseDouble(normalRepayment.getRepaymentAmount()) > sum) {
i++;
}
//还款日期>贷款日期
if (normalRepayment.getRepaymentDate().compareTo(normalRepayment.getStartingTime()) <= 0) {
i++;
}
NormalRepaymentExample normalRepaymentExample= new NormalRepaymentExample();
@ -1174,23 +1218,47 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//检验是提交还是保存
if (normalRepayment.getSubmitStatus() == 1) { //提交则计算错误次数
if(normalRepayment.getLargeModule().equals("个人消费贷款业务")){
if(normalRepayment.getLargeModule().equals("个人贷款业务")){
//判断用户是否完成上一个流程,并更新操作步骤序号
if (!ProcessJudgment(7, normalRepayment.getUserId(),"个人消费贷款业务")) {
throw new ServiceException(HttpStatus.ACCEPTED, "请先完成上一流程");
}
}
if(normalRepayment.getLargeModule().equals("司抵押贷款业务")){
if(normalRepayment.getLargeModule().equals("公贷款业务")){
//判断用户是否完成上一个流程,并更新操作步骤序号
if(!ProcessJudgment(11,normalRepayment.getUserId(),"公司抵押贷款业务")){
throw new ServiceException(HttpStatus.ACCEPTED,"请先完成上一流程");
}
}
//参数校验
int i = 0; //错误次数
//还款金额<=贷款余额与利息和
double sum = Double.parseDouble(normalRepayment.getLoanBalance()) + Double.parseDouble(normalRepayment.getInterest()); //贷款余额与利息和
if (Double.parseDouble(normalRepayment.getRepaymentAmount()) > sum) {
i++;
}
//还款日期>贷款日期
if (normalRepayment.getRepaymentDate().compareTo(normalRepayment.getStartingTime()) <= 0) {
i++;
}
//计算错误次数
normalRepayment.setErrorNumber(i);
if(normalRepayment.getLargeModule().equals("个人贷款业务")){
//更新成绩表
updateScoreInfo.UpdateScoreInfo(normalRepayment.getUserId(),"个人贷款业务","个人消费贷款业务",normalRepayment.getErrorNumber(),7);
}
if(normalRepayment.getLargeModule().equals("对公贷款业务")){
//更新成绩表
updateScoreInfo.UpdateScoreInfo(normalRepayment.getUserId(),"对公贷款业务","公司抵押贷款业务",normalRepayment.getErrorNumber(),11);
}
//贷款余额减少 贷款余额=贷款余额-还款金额 最少为0
BigDecimal sub = bigDecimalUtils.sub(normalRepayment.getLoanBalance(), normalRepayment.getRepaymentAmount());
if(sub.compareTo(BigDecimal.ZERO)<0){
@ -1215,22 +1283,46 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//检验本次是提交还是保存
if (normalRepayment.getSubmitStatus() == 1) { //提交则计算错误次数
if(normalRepayment.getLargeModule().equals("个人消费贷款业务")){
if(normalRepayment.getLargeModule().equals("个人贷款业务")){
//判断用户是否完成上一个流程,并更新操作步骤序号
if (!ProcessJudgment(7, normalRepayment.getUserId(),"个人消费贷款业务")) {
throw new ServiceException(HttpStatus.ACCEPTED, "请先完成上一流程");
}
}
if(normalRepayment.getLargeModule().equals("司抵押贷款业务")){
if(normalRepayment.getLargeModule().equals("公贷款业务")){
//判断用户是否完成上一个流程,并更新操作步骤序号
if(!ProcessJudgment(11,normalRepayment.getUserId(),"公司抵押贷款业务")){
throw new ServiceException(HttpStatus.ACCEPTED,"请先完成上一流程");
}
}
//参数校验
int i = 0; //错误次数
//还款金额<=贷款余额与利息和
double sum = Double.parseDouble(normalRepayment.getLoanBalance()) + Double.parseDouble(normalRepayment.getInterest()); //贷款余额与利息和
if (Double.parseDouble(normalRepayment.getRepaymentAmount()) > sum) {
i++;
}
//还款日期>贷款日期
if (normalRepayment.getRepaymentDate().compareTo(normalRepayment.getStartingTime()) <= 0) {
i++;
}
//计算错误次数
normalRepayment.setErrorNumber(i);
if(normalRepayment.getLargeModule().equals("个人贷款业务")){
//更新成绩表
updateScoreInfo.UpdateScoreInfo(normalRepayment.getUserId(),"个人贷款业务","个人消费贷款业务",normalRepayment.getErrorNumber(),7);
}
if(normalRepayment.getLargeModule().equals("对公贷款业务")){
//更新成绩表
updateScoreInfo.UpdateScoreInfo(normalRepayment.getUserId(),"对公贷款业务","公司抵押贷款业务",normalRepayment.getErrorNumber(),11);
}
//贷款余额减少 贷款余额=贷款余额-还款金额 最少为0
BigDecimal sub = bigDecimalUtils.sub(normalRepayment.getLoanBalance(), normalRepayment.getRepaymentAmount());
if(sub.compareTo(BigDecimal.ZERO)<0){
@ -1259,7 +1351,7 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//查询客户信息获取客户姓名和客户号
PerConsumerLoanCustomerInfoExample customerInfoExample=new PerConsumerLoanCustomerInfoExample();
customerInfoExample.createCriteria().andUserIdEqualTo(userId).andNumberEqualTo(number);
customerInfoExample.createCriteria().andUserIdEqualTo(userId).andNumberEqualTo(number).andSubmitStatusEqualTo(1);
List<PerConsumerLoanCustomerInfo> perConsumerLoanCustomerInfos = loanCustomerInfoMapper.selectByExample(customerInfoExample);
if(!CollectionUtils.isEmpty(perConsumerLoanCustomerInfos)){
PerConsumerLoanCustomerInfo perConsumerLoanCustomerInfo = perConsumerLoanCustomerInfos.get(0);
@ -1271,7 +1363,7 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//查询签订贷款合同信息
SignLoanContractExample loanContractExample = new SignLoanContractExample();
loanContractExample.createCriteria().andUserIdEqualTo(userId).andNumberEqualTo(number)
.andLargeModuleEqualTo(largeModule);
.andLargeModuleEqualTo(largeModule).andSubmitStatusEqualTo(1);
List<SignLoanContract> signLoanContracts = signLoanContractMapper.selectByExample(loanContractExample);
if (!CollectionUtils.isEmpty(signLoanContracts)) {
SignLoanContract loanContract = signLoanContracts.get(0);
@ -1345,6 +1437,9 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
postLoanTracking=computePostLoanTracking(postLoanTracking);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(postLoanTracking.getUserId(),"个人贷款业务","个人消费贷款业务",postLoanTracking.getErrorNumber(),8);
}
@ -1369,6 +1464,9 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//计算错误次数
postLoanTracking=computePostLoanTracking(postLoanTracking);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(postLoanTracking.getUserId(),"个人贷款业务","个人消费贷款业务",postLoanTracking.getErrorNumber(),8);
}
}
postLoanTracking.setId(id);
@ -1416,6 +1514,10 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//判断填写是否正确
Integer i = computeLoanClassification(number, rating);
loanTracking.setErrorNumber(loanTracking.getErrorNumber()+i);
//更新成绩表
updateScoreInfo.UpdateScoreInfo(userId,"个人贷款业务","个人消费贷款业务",i,9);
loanTracking.setSaveStatus(1);
}
//否则直接更新客户评级
@ -1536,6 +1638,8 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
//取出数据采集结果分别计算错误次数
if (dataDTO != null) {
int errorNumber=0; //用户统计错误次数
//信用卡采集计算错误次数
//正确答案
List<CreditCardCollectionInfo> cardCollectionInfos = dataDTO.getCardCollectionInfos();
@ -1557,6 +1661,7 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
int card1 = ObjectComparatorUtil.countDifferences(creditCardCollectionInfoDTO, creditCardCollectionInfoDTOS1);
cardCollectionInfo.setErrorNumber(card1);
errorNumber=errorNumber+card1;
}
}
}
@ -1584,6 +1689,7 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
int card1 = ObjectComparatorUtil.countDifferences(housingLoanInformationDTO, housingLoanInformationDTO1);
housingLoanInformation.setErrorNumber(card1);
errorNumber=errorNumber+card1;
}
}
}
@ -1610,6 +1716,7 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
int card1 = ObjectComparatorUtil.countDifferences(housingLoanInformationDTO, housingLoanInformationDTO1);
housingLoanInformation.setErrorNumber(card1);
errorNumber=errorNumber+card1;
}
}
}
@ -1638,6 +1745,7 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
int card1 = ObjectComparatorUtil.countDifferences(guaranteeSituationInfoDTO, guaranteeSituationInfoDTO1);
guaranteeSituationInfo.setErrorNumber(card1);
errorNumber=errorNumber+card1;
}
}
}
@ -1666,6 +1774,7 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
int card1 = ObjectComparatorUtil.countDifferences(taxArrearsRecordsDTO, taxArrearsRecordsDTO1);
taxArrearsRecords.setErrorNumber(card1);
errorNumber=errorNumber+card1;
}
}
}
@ -1695,6 +1804,7 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
int card1 = ObjectComparatorUtil.countDifferences(judgmentInformationDTO, judgmentInformationDTO1);
judgmentInformation.setErrorNumber(card1);
errorNumber=errorNumber+card1;
}
}
}
@ -1727,11 +1837,13 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
int card1 = ObjectComparatorUtil.countDifferences(penaltyInformationDTO, penaltyInformationDTO1);
penaltyInformation.setErrorNumber(card1);
errorNumber=errorNumber+card1;
}
}
}
}
creditDataDTO.setErrorNumber(errorNumber);
return creditDataDTO;
}else {
@ -1812,6 +1924,7 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
try {
if (dto != null) {
//贷前客户调查正确答案
PerLoanCustomerSurvey customerSurvey = dto.getCustomerSurvey();
PerLoanCustomerSurveyDTO perLoanCustomerSurveyDTO = convertUtil.entityToDTO(customerSurvey, PerLoanCustomerSurveyDTO.class);
@ -1839,6 +1952,8 @@ public class PersonalLoanServiceImpl implements PersonalLoanService {
int loan = ObjectComparatorUtil.countDifferences(loanDTO, loanDTO1); //贷款申请错误次数
loanApplication1.setErrorNumber(loan);
loanApplicationDTO.setErrorNumber(customer+guarantee+loan);
return loanApplicationDTO;
}else {

@ -59,70 +59,14 @@ public class StuGradeManagementServiceImpl implements StuGradeManagementService
TchScoreWeight tchScoreWeight = tchScoreWeights.get(0);
List<StuAcademicRecordDTO> list=new ArrayList<>(); //封装对象,统一返回格式
for (int i = 0; i < 7; i++) {
StuAcademicRecordDTO dto=new StuAcademicRecordDTO();
dto.setUserId(userId);
dto.setBusinessName(Constant.strings[i]);
dto.setPracticeProgress(0.0);
dto.setPracticeFrequency(0);
dto.setPracticeDuration("0");
dto.setPracticeResults(BigDecimal.ZERO);
dto=getScoreWeight(dto,tchScoreWeight);
list.add(dto);
}
//对象赋值
StuGradeManagementExample gradeManagementExample=new StuGradeManagementExample();
gradeManagementExample.createCriteria().andUserIdEqualTo(userId);
List<StuGradeManagement> stuGradeManagements = gradeManagementMapper.selectByExample(gradeManagementExample);
if(!stuGradeManagements.isEmpty()){
for (StuAcademicRecordDTO dto:list) {
double progress=0.0; //进度累加
Integer practiceFrequency=0; //练习次数累加
Integer practiceDuration=0; //练习时长累加
BigDecimal practiceResults=BigDecimal.ZERO; //练习成绩平均值累加
for (int i = 0; i < stuGradeManagements.size(); i++) {
StuGradeManagement stuGradeManagement = stuGradeManagements.get(i);
if(dto.getBusinessName().equals(stuGradeManagement.getBusinessName())){
//计算总实训进度
progress=progress+stuGradeManagement.getPracticeProgress();
//计算总练习次数
practiceFrequency=practiceFrequency+stuGradeManagement.getPracticeFrequency();
//计算总练习时长
practiceDuration=practiceDuration+stuGradeManagement.getPracticeDuration();
//计算总练习成绩
practiceResults=practiceResults.add(stuGradeManagement.getPracticeResults());
}
//查询每个大模块下有几个小模块,总练习进度/小模块数=平均练习进度
TotalNumberInfoExample numberInfoExample=new TotalNumberInfoExample();
numberInfoExample.createCriteria().andLargeModuleEqualTo(dto.getBusinessName());
List<TotalNumberInfo> totalNumberInfos = numberInfoMapper.selectByExample(numberInfoExample);
dto.setPracticeProgress(bigDecimalUtils.div(progress,totalNumberInfos.size(),2));
dto.setPracticeFrequency(practiceFrequency);
//将秒种格式化返回
dto.setPracticeDuration(formatSeconds(practiceDuration));
//总练习成绩/小模块数=平均练习成绩
dto.setPracticeResults(BigDecimal.valueOf(bigDecimalUtils.div(Double.parseDouble(practiceResults.toString()),totalNumberInfos.size(),2)));
//赋值权重和加权后得分
dto=getScoreWeight(dto,tchScoreWeight);
}
}
}
return list;
return this.getAcademicRecordDTO(stuGradeManagements,tchScoreWeight,userId);
}
@Override
@ -278,4 +222,69 @@ public class StuGradeManagementServiceImpl implements StuGradeManagementService
return dto;
}
public List<StuAcademicRecordDTO> getAcademicRecordDTO(List<StuGradeManagement> stuGradeManagements,TchScoreWeight tchScoreWeight,String userId){
List<StuAcademicRecordDTO> list=new ArrayList<>(); //封装对象,统一返回格式
for (int i = 0; i < 7; i++) {
StuAcademicRecordDTO dto=new StuAcademicRecordDTO();
dto.setUserId(userId);
dto.setBusinessName(Constant.strings[i]);
dto.setPracticeProgress(0.0);
dto.setPracticeFrequency(0);
dto.setPracticeDuration(0);
dto.setPracticeResults(BigDecimal.ZERO);
dto=getScoreWeight(dto,tchScoreWeight);
list.add(dto);
}
if(!stuGradeManagements.isEmpty()){
for (StuAcademicRecordDTO dto:list) {
double progress=0.0; //进度累加
Integer practiceFrequency=0; //练习次数累加
Integer practiceDuration=0; //练习时长累加
BigDecimal practiceResults=BigDecimal.ZERO; //练习成绩平均值累加
for (int i = 0; i < stuGradeManagements.size(); i++) {
StuGradeManagement stuGradeManagement = stuGradeManagements.get(i);
if(dto.getBusinessName().equals(stuGradeManagement.getBusinessName())){
//计算总实训进度
progress=progress+stuGradeManagement.getPracticeProgress();
//计算总练习次数
practiceFrequency=practiceFrequency+stuGradeManagement.getPracticeFrequency();
//计算总练习时长
practiceDuration=practiceDuration+stuGradeManagement.getPracticeDuration();
//计算总练习成绩
practiceResults=practiceResults.add(stuGradeManagement.getPracticeResults());
}
//查询每个大模块下有几个小模块,总练习进度/小模块数=平均练习进度
TotalNumberInfoExample numberInfoExample=new TotalNumberInfoExample();
numberInfoExample.createCriteria().andLargeModuleEqualTo(dto.getBusinessName());
List<TotalNumberInfo> totalNumberInfos = numberInfoMapper.selectByExample(numberInfoExample);
dto.setPracticeProgress(bigDecimalUtils.div(progress,totalNumberInfos.size(),2));
dto.setPracticeFrequency(practiceFrequency);
//将秒种格式化返回
dto.setPracticeDuration(bigDecimalUtils.div(practiceDuration,60,1));
//总练习成绩/小模块数=平均练习成绩
dto.setPracticeResults(BigDecimal.valueOf(bigDecimalUtils.div(Double.parseDouble(practiceResults.toString()),totalNumberInfos.size(),2)));
//赋值权重和加权后得分
dto=getScoreWeight(dto,tchScoreWeight);
}
}
}
return list;
}
}

@ -1,17 +1,26 @@
package com.sztzjy.bank.service.impl;
import com.sztzjy.bank.entity.StuUser;
import com.sztzjy.bank.entity.StuUserExample;
import com.sztzjy.bank.entity.TchScoreWeight;
import com.sztzjy.bank.entity.TchScoreWeightExample;
import com.github.pagehelper.PageInfo;
import com.sztzjy.bank.config.Constant;
import com.sztzjy.bank.entity.*;
import com.sztzjy.bank.entity.dto.StuAcademicRecordDTO;
import com.sztzjy.bank.entity.dto.TchProjectAnalysisDTO;
import com.sztzjy.bank.mapper.StuGradeManagementMapper;
import com.sztzjy.bank.mapper.StuUserMapper;
import com.sztzjy.bank.mapper.TchScoreWeightMapper;
import com.sztzjy.bank.mapper.TotalNumberInfoMapper;
import com.sztzjy.bank.service.StuGradeManagementService;
import com.sztzjy.bank.service.TchSummaryGradesService;
import com.sztzjy.bank.util.BigDecimalUtils;
import com.sztzjy.bank.util.PageUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author tz
@ -25,10 +34,31 @@ public class TchSummaryGradesServiceImpl implements TchSummaryGradesService {
StuGradeManagementService managementService;
@Autowired
TchScoreWeightMapper scoreWeightMapper;
@Autowired
StuGradeManagementMapper gradeManagementMapper;
@Autowired
BigDecimalUtils bigDecimalUtils;
@Autowired
TotalNumberInfoMapper numberInfoMapper;
@Override
public List<StuUser> getSummaryGrades(String schoolId) {
public PageInfo<StuUser> getSummaryGrades(String schoolId, Integer index, Integer size,String studentId,String userName,String className) {
StuUserExample stuUserExample=new StuUserExample();
stuUserExample.createCriteria().andSchoolIdEqualTo(schoolId);
StuUserExample.Criteria criteria = stuUserExample.createCriteria();
criteria.andSchoolIdEqualTo(schoolId).andDelStateEqualTo(0);
if (studentId!=null && !studentId.isEmpty()){
criteria.andStudentIdEqualTo(studentId);
}
if (userName!=null && !userName.isEmpty()){
criteria.andNameEqualTo(userName);
}
if (className!=null && !className.isEmpty()){
criteria.andClassNameEqualTo(className);
}
List<StuUser> stuUsers = stuUserMapper.selectByExample(stuUserExample);
@ -42,6 +72,198 @@ public class TchSummaryGradesServiceImpl implements TchSummaryGradesService {
}
TchScoreWeight tchScoreWeight = tchScoreWeights.get(0);
return null;
//根据学校ID查询该校所有学生成绩信息
StuGradeManagementExample managementExample=new StuGradeManagementExample();
managementExample.createCriteria().andSchoolIdEqualTo(schoolId);
List<StuGradeManagement> stuGradeManagements = gradeManagementMapper.selectByExample(managementExample);
// 根据 userId 分组
Map<String, List<StuGradeManagement>> groupedByUserId = stuGradeManagements.stream()
.collect(Collectors.groupingBy(StuGradeManagement::getUserId));
for (StuUser stUser: stuUsers) {
double practiceProgress=0.0; //练习进度
double practiceDuration=0; //练习时长
BigDecimal practiceResults=BigDecimal.ZERO; //练习成绩
// 遍历分组后的 Map
for(Map.Entry<String, List<StuGradeManagement>> entry : groupedByUserId.entrySet()) {
if(stUser.getUserId().equals(entry.getKey())){
List<StuAcademicRecordDTO> academicRecord = managementService.getAcademicRecordDTO(entry.getValue(),tchScoreWeight,stUser.getUserId());
for (int i = 0; i < academicRecord.size(); i++) {
StuAcademicRecordDTO stuAcademicRecordDTO = academicRecord.get(i);
//练习进度取平均数
practiceProgress=practiceProgress+stuAcademicRecordDTO.getPracticeProgress();
//练习时长取累计数
practiceDuration=practiceDuration+stuAcademicRecordDTO.getPracticeDuration();
//练习成绩取合计数
practiceResults=practiceResults.add(stuAcademicRecordDTO.getScore());
}
}
}
//赋值
stUser.setPracticeProgress(bigDecimalUtils.div(practiceProgress,7,2));
stUser.setPracticeDuration(practiceDuration);
stUser.setPracticeResults(practiceResults);
}
return PageUtil.pageHelper(stuUsers,index,size);
}
@Override
public List<TchProjectAnalysisDTO> getProjectAnalysis(String schoolId) {
List<TchProjectAnalysisDTO> list=new ArrayList<>(); //封装对象,统一返回格式
for (int i = 0; i < 7; i++) {
TchProjectAnalysisDTO dto=new TchProjectAnalysisDTO();
dto.setBusinessName(Constant.strings[i]);
dto.setPracticeProgress(0.0);
dto.setPracticeDuration(0);
dto.setPracticeResults(BigDecimal.ZERO);
dto.setAverageErrorsNumber(0);
list.add(dto);
}
// TchScoreWeightExample weightExample=new TchScoreWeightExample();
// weightExample.createCriteria().andSchoolIdEqualTo(schoolId);
// List<TchScoreWeight> tchScoreWeights = scoreWeightMapper.selectByExample(weightExample);
// if(tchScoreWeights.isEmpty()){
// TchScoreWeight tchScoreWeight=new TchScoreWeight(schoolId);
// tchScoreWeights.add(tchScoreWeight);
// scoreWeightMapper.insert(tchScoreWeight);
// }
//
// TchScoreWeight tchScoreWeight = tchScoreWeights.get(0);
//根据学校ID查询该校所有学生成绩信息
StuGradeManagementExample managementExample=new StuGradeManagementExample();
managementExample.createCriteria().andSchoolIdEqualTo(schoolId);
List<StuGradeManagement> stuGradeManagements = gradeManagementMapper.selectByExample(managementExample);
// TODO: 2025/3/18 1、先根据userId分组统计每个学生每个小模块成绩信息
// 根据 userId 分组
Map<String, List<StuGradeManagement>> groupedByUserId = stuGradeManagements.stream()
.collect(Collectors.groupingBy(StuGradeManagement::getUserId));
List<StuAcademicRecordDTO> dto=new ArrayList<>();
// 遍历分组后的 Map
for(Map.Entry<String, List<StuGradeManagement>> entry : groupedByUserId.entrySet()) {
for (String businessName:Constant.strings) {
double practiceProgress=0.0; //练习进度
double practiceDuration=0; //练习时长
BigDecimal practiceResults=BigDecimal.ZERO; //练习成绩
double errorsNumber=0.0; //错误次数
StuAcademicRecordDTO stuAcademicRecordDTO=new StuAcademicRecordDTO();
for (int i = 0; i < entry.getValue().size(); i++) {
StuGradeManagement stuGradeManagement = entry.getValue().get(i);
if(businessName.equals(stuGradeManagement.getBusinessName())){
//计算总实训进度
practiceProgress=practiceProgress+stuGradeManagement.getPracticeProgress();
//计算总练习时长
practiceDuration=practiceDuration+stuGradeManagement.getPracticeDuration();
//计算总练习成绩
practiceResults=practiceResults.add(stuGradeManagement.getPracticeResults());
//总错误次数=错误次数/练习次数 再累加
Double div = bigDecimalUtils.div(stuGradeManagement.getErrorCount(), stuGradeManagement.getPracticeFrequency());
errorsNumber=errorsNumber+div;
}
}
//查询每个大模块下有几个小模块,总练习进度/小模块数=平均练习进度
TotalNumberInfoExample numberInfoExample=new TotalNumberInfoExample();
numberInfoExample.createCriteria().andLargeModuleEqualTo(businessName);
List<TotalNumberInfo> totalNumberInfos = numberInfoMapper.selectByExample(numberInfoExample);
stuAcademicRecordDTO.setPracticeProgress(bigDecimalUtils.div(practiceProgress,totalNumberInfos.size(),2));
//将秒种格式化返回
stuAcademicRecordDTO.setPracticeDuration(bigDecimalUtils.div(practiceDuration,60,1));
//总练习成绩/小模块数=平均练习成绩
stuAcademicRecordDTO.setPracticeResults(BigDecimal.valueOf(bigDecimalUtils.div(Double.parseDouble(practiceResults.toString()),totalNumberInfos.size(),2)));
//总错误次数
stuAcademicRecordDTO.setErrorsNumber(errorsNumber);
stuAcademicRecordDTO.setBusinessName(businessName);
dto.add(stuAcademicRecordDTO);
}
}
// TODO: 2025/3/18 2、根据大模块分组统计所有学生每个大模块下的成绩信息
// 根据 businessName 分组
Map<String, List<StuAcademicRecordDTO>> groupedByBusinessName = dto.stream()
.collect(Collectors.groupingBy(StuAcademicRecordDTO::getBusinessName));
for (TchProjectAnalysisDTO tchProjectAnalysisDTO:list){
double practiceProgress=0.0; //练习进度
double practiceDuration=0; //练习时长
BigDecimal practiceResults=BigDecimal.ZERO; //练习成绩
double errorsNumber=0.0; //错误次数
// 遍历分组后的 Map
for(Map.Entry<String, List<StuAcademicRecordDTO>> entry : groupedByBusinessName.entrySet()){
if(tchProjectAnalysisDTO.getBusinessName().equals(entry.getKey())){
for (int i = 0; i < entry.getValue().size(); i++) {
StuAcademicRecordDTO stuAcademicRecordDTO = entry.getValue().get(i);
//练习进度累加
practiceProgress=practiceProgress+stuAcademicRecordDTO.getPracticeProgress();
//练习时长取累计数
practiceDuration=practiceDuration+stuAcademicRecordDTO.getPracticeDuration();
//练习成绩取合计数
practiceResults=practiceResults.add(stuAcademicRecordDTO.getPracticeResults());
//错误次数累加
errorsNumber=errorsNumber+stuAcademicRecordDTO.getErrorsNumber();
}
}
//分别计算平均数,再赋值
tchProjectAnalysisDTO.setPracticeProgress(bigDecimalUtils.div(practiceProgress,entry.getValue().size()));
tchProjectAnalysisDTO.setPracticeDuration(bigDecimalUtils.div(practiceDuration,entry.getValue().size()));
tchProjectAnalysisDTO.setPracticeResults(BigDecimal.valueOf(bigDecimalUtils.div(Double.parseDouble(practiceResults.toString()),entry.getValue().size())));
tchProjectAnalysisDTO.setAverageErrorsNumber(bigDecimalUtils.div(errorsNumber,entry.getValue().size()));
}
}
return list;
}
}

@ -28,6 +28,7 @@
<result column="submit_status" jdbcType="INTEGER" property="submitStatus" />
<result column="error_number" jdbcType="INTEGER" property="errorNumber" />
<result column="number" jdbcType="INTEGER" property="number" />
<result column="large_module" jdbcType="VARCHAR" property="largeModule" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -92,7 +93,8 @@
interest_calculation_method, benchmark_interest_rate, interest_rate_fluctuation_method,
interest_floating_ratio, strike_rate, overdue_interest_rate, repayment_method, main_guarantee_method,
guarantee_amount, credit_amount, source_of_repayment_funds, application_for_loan_purpose,
user_id, create_time, update_time, save_status, submit_status, error_number, number
user_id, create_time, update_time, save_status, submit_status, error_number, number,
large_module
</sql>
<select id="selectByExample" parameterType="com.sztzjy.bank.entity.LoanApplicationExample" resultMap="BaseResultMap">
select
@ -134,7 +136,7 @@
source_of_repayment_funds, application_for_loan_purpose,
user_id, create_time, update_time,
save_status, submit_status, error_number,
number)
number, large_module)
values (#{id,jdbcType=VARCHAR}, #{loansType,jdbcType=VARCHAR}, #{loansNature,jdbcType=VARCHAR},
#{applicationDate,jdbcType=TIMESTAMP}, #{currency,jdbcType=VARCHAR}, #{applicationAmount,jdbcType=VARCHAR},
#{term,jdbcType=VARCHAR}, #{interestCalculationMethod,jdbcType=VARCHAR}, #{benchmarkInterestRate,jdbcType=VARCHAR},
@ -144,7 +146,7 @@
#{sourceOfRepaymentFunds,jdbcType=VARCHAR}, #{applicationForLoanPurpose,jdbcType=VARCHAR},
#{userId,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
#{saveStatus,jdbcType=INTEGER}, #{submitStatus,jdbcType=INTEGER}, #{errorNumber,jdbcType=INTEGER},
#{number,jdbcType=INTEGER})
#{number,jdbcType=INTEGER}, #{largeModule,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.sztzjy.bank.entity.LoanApplication">
insert into loan_application
@ -227,6 +229,9 @@
<if test="number != null">
number,
</if>
<if test="largeModule != null">
large_module,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -307,6 +312,9 @@
<if test="number != null">
#{number,jdbcType=INTEGER},
</if>
<if test="largeModule != null">
#{largeModule,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.sztzjy.bank.entity.LoanApplicationExample" resultType="java.lang.Long">
@ -396,6 +404,9 @@
<if test="record.number != null">
number = #{record.number,jdbcType=INTEGER},
</if>
<if test="record.largeModule != null">
large_module = #{record.largeModule,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -428,7 +439,8 @@
save_status = #{record.saveStatus,jdbcType=INTEGER},
submit_status = #{record.submitStatus,jdbcType=INTEGER},
error_number = #{record.errorNumber,jdbcType=INTEGER},
number = #{record.number,jdbcType=INTEGER}
number = #{record.number,jdbcType=INTEGER},
large_module = #{record.largeModule,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -511,6 +523,9 @@
<if test="number != null">
number = #{number,jdbcType=INTEGER},
</if>
<if test="largeModule != null">
large_module = #{largeModule,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
@ -540,7 +555,8 @@
save_status = #{saveStatus,jdbcType=INTEGER},
submit_status = #{submitStatus,jdbcType=INTEGER},
error_number = #{errorNumber,jdbcType=INTEGER},
number = #{number,jdbcType=INTEGER}
number = #{number,jdbcType=INTEGER},
large_module = #{largeModule,jdbcType=VARCHAR}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>

@ -0,0 +1,434 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sztzjy.bank.mapper.PaymentAcceptanceMapper">
<resultMap id="BaseResultMap" type="com.sztzjy.bank.entity.PaymentAcceptance">
<id column="id" jdbcType="VARCHAR" property="id" />
<result column="receiving_bank_code" jdbcType="VARCHAR" property="receivingBankCode" />
<result column="charging_method" jdbcType="VARCHAR" property="chargingMethod" />
<result column="write_code" jdbcType="VARCHAR" property="writeCode" />
<result column="telegram_fee_type" jdbcType="VARCHAR" property="telegramFeeType" />
<result column="acceptance_currency" jdbcType="VARCHAR" property="acceptanceCurrency" />
<result column="acceptance_amount" jdbcType="VARCHAR" property="acceptanceAmount" />
<result column="beneficiary" jdbcType="VARCHAR" property="beneficiary" />
<result column="ben_settlement_account" jdbcType="VARCHAR" property="benSettlementAccount" />
<result column="payer_settlement_account" jdbcType="VARCHAR" property="payerSettlementAccount" />
<result column="payer_name" jdbcType="VARCHAR" property="payerName" />
<result column="deduction_account" jdbcType="VARCHAR" property="deductionAccount" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="save_status" jdbcType="INTEGER" property="saveStatus" />
<result column="submit_status" jdbcType="INTEGER" property="submitStatus" />
<result column="user_id" jdbcType="VARCHAR" property="userId" />
<result column="error_number" jdbcType="INTEGER" property="errorNumber" />
<result column="number" jdbcType="INTEGER" property="number" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, receiving_bank_code, charging_method, write_code, telegram_fee_type, acceptance_currency,
acceptance_amount, beneficiary, ben_settlement_account, payer_settlement_account,
payer_name, deduction_account, create_time, update_time, save_status, submit_status,
user_id, error_number, number
</sql>
<select id="selectByExample" parameterType="com.sztzjy.bank.entity.PaymentAcceptanceExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from payment_acceptance
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from payment_acceptance
where id = #{id,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from payment_acceptance
where id = #{id,jdbcType=VARCHAR}
</delete>
<delete id="deleteByExample" parameterType="com.sztzjy.bank.entity.PaymentAcceptanceExample">
delete from payment_acceptance
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.sztzjy.bank.entity.PaymentAcceptance">
insert into payment_acceptance (id, receiving_bank_code, charging_method,
write_code, telegram_fee_type, acceptance_currency,
acceptance_amount, beneficiary, ben_settlement_account,
payer_settlement_account, payer_name, deduction_account,
create_time, update_time, save_status,
submit_status, user_id, error_number,
number)
values (#{id,jdbcType=VARCHAR}, #{receivingBankCode,jdbcType=VARCHAR}, #{chargingMethod,jdbcType=VARCHAR},
#{writeCode,jdbcType=VARCHAR}, #{telegramFeeType,jdbcType=VARCHAR}, #{acceptanceCurrency,jdbcType=VARCHAR},
#{acceptanceAmount,jdbcType=VARCHAR}, #{beneficiary,jdbcType=VARCHAR}, #{benSettlementAccount,jdbcType=VARCHAR},
#{payerSettlementAccount,jdbcType=VARCHAR}, #{payerName,jdbcType=VARCHAR}, #{deductionAccount,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{saveStatus,jdbcType=INTEGER},
#{submitStatus,jdbcType=INTEGER}, #{userId,jdbcType=VARCHAR}, #{errorNumber,jdbcType=INTEGER},
#{number,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.sztzjy.bank.entity.PaymentAcceptance">
insert into payment_acceptance
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="receivingBankCode != null">
receiving_bank_code,
</if>
<if test="chargingMethod != null">
charging_method,
</if>
<if test="writeCode != null">
write_code,
</if>
<if test="telegramFeeType != null">
telegram_fee_type,
</if>
<if test="acceptanceCurrency != null">
acceptance_currency,
</if>
<if test="acceptanceAmount != null">
acceptance_amount,
</if>
<if test="beneficiary != null">
beneficiary,
</if>
<if test="benSettlementAccount != null">
ben_settlement_account,
</if>
<if test="payerSettlementAccount != null">
payer_settlement_account,
</if>
<if test="payerName != null">
payer_name,
</if>
<if test="deductionAccount != null">
deduction_account,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="saveStatus != null">
save_status,
</if>
<if test="submitStatus != null">
submit_status,
</if>
<if test="userId != null">
user_id,
</if>
<if test="errorNumber != null">
error_number,
</if>
<if test="number != null">
number,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=VARCHAR},
</if>
<if test="receivingBankCode != null">
#{receivingBankCode,jdbcType=VARCHAR},
</if>
<if test="chargingMethod != null">
#{chargingMethod,jdbcType=VARCHAR},
</if>
<if test="writeCode != null">
#{writeCode,jdbcType=VARCHAR},
</if>
<if test="telegramFeeType != null">
#{telegramFeeType,jdbcType=VARCHAR},
</if>
<if test="acceptanceCurrency != null">
#{acceptanceCurrency,jdbcType=VARCHAR},
</if>
<if test="acceptanceAmount != null">
#{acceptanceAmount,jdbcType=VARCHAR},
</if>
<if test="beneficiary != null">
#{beneficiary,jdbcType=VARCHAR},
</if>
<if test="benSettlementAccount != null">
#{benSettlementAccount,jdbcType=VARCHAR},
</if>
<if test="payerSettlementAccount != null">
#{payerSettlementAccount,jdbcType=VARCHAR},
</if>
<if test="payerName != null">
#{payerName,jdbcType=VARCHAR},
</if>
<if test="deductionAccount != null">
#{deductionAccount,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
#{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="saveStatus != null">
#{saveStatus,jdbcType=INTEGER},
</if>
<if test="submitStatus != null">
#{submitStatus,jdbcType=INTEGER},
</if>
<if test="userId != null">
#{userId,jdbcType=VARCHAR},
</if>
<if test="errorNumber != null">
#{errorNumber,jdbcType=INTEGER},
</if>
<if test="number != null">
#{number,jdbcType=INTEGER},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.sztzjy.bank.entity.PaymentAcceptanceExample" resultType="java.lang.Long">
select count(*) from payment_acceptance
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update payment_acceptance
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=VARCHAR},
</if>
<if test="record.receivingBankCode != null">
receiving_bank_code = #{record.receivingBankCode,jdbcType=VARCHAR},
</if>
<if test="record.chargingMethod != null">
charging_method = #{record.chargingMethod,jdbcType=VARCHAR},
</if>
<if test="record.writeCode != null">
write_code = #{record.writeCode,jdbcType=VARCHAR},
</if>
<if test="record.telegramFeeType != null">
telegram_fee_type = #{record.telegramFeeType,jdbcType=VARCHAR},
</if>
<if test="record.acceptanceCurrency != null">
acceptance_currency = #{record.acceptanceCurrency,jdbcType=VARCHAR},
</if>
<if test="record.acceptanceAmount != null">
acceptance_amount = #{record.acceptanceAmount,jdbcType=VARCHAR},
</if>
<if test="record.beneficiary != null">
beneficiary = #{record.beneficiary,jdbcType=VARCHAR},
</if>
<if test="record.benSettlementAccount != null">
ben_settlement_account = #{record.benSettlementAccount,jdbcType=VARCHAR},
</if>
<if test="record.payerSettlementAccount != null">
payer_settlement_account = #{record.payerSettlementAccount,jdbcType=VARCHAR},
</if>
<if test="record.payerName != null">
payer_name = #{record.payerName,jdbcType=VARCHAR},
</if>
<if test="record.deductionAccount != null">
deduction_account = #{record.deductionAccount,jdbcType=VARCHAR},
</if>
<if test="record.createTime != null">
create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if>
<if test="record.updateTime != null">
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
</if>
<if test="record.saveStatus != null">
save_status = #{record.saveStatus,jdbcType=INTEGER},
</if>
<if test="record.submitStatus != null">
submit_status = #{record.submitStatus,jdbcType=INTEGER},
</if>
<if test="record.userId != null">
user_id = #{record.userId,jdbcType=VARCHAR},
</if>
<if test="record.errorNumber != null">
error_number = #{record.errorNumber,jdbcType=INTEGER},
</if>
<if test="record.number != null">
number = #{record.number,jdbcType=INTEGER},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update payment_acceptance
set id = #{record.id,jdbcType=VARCHAR},
receiving_bank_code = #{record.receivingBankCode,jdbcType=VARCHAR},
charging_method = #{record.chargingMethod,jdbcType=VARCHAR},
write_code = #{record.writeCode,jdbcType=VARCHAR},
telegram_fee_type = #{record.telegramFeeType,jdbcType=VARCHAR},
acceptance_currency = #{record.acceptanceCurrency,jdbcType=VARCHAR},
acceptance_amount = #{record.acceptanceAmount,jdbcType=VARCHAR},
beneficiary = #{record.beneficiary,jdbcType=VARCHAR},
ben_settlement_account = #{record.benSettlementAccount,jdbcType=VARCHAR},
payer_settlement_account = #{record.payerSettlementAccount,jdbcType=VARCHAR},
payer_name = #{record.payerName,jdbcType=VARCHAR},
deduction_account = #{record.deductionAccount,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
save_status = #{record.saveStatus,jdbcType=INTEGER},
submit_status = #{record.submitStatus,jdbcType=INTEGER},
user_id = #{record.userId,jdbcType=VARCHAR},
error_number = #{record.errorNumber,jdbcType=INTEGER},
number = #{record.number,jdbcType=INTEGER}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.sztzjy.bank.entity.PaymentAcceptance">
update payment_acceptance
<set>
<if test="receivingBankCode != null">
receiving_bank_code = #{receivingBankCode,jdbcType=VARCHAR},
</if>
<if test="chargingMethod != null">
charging_method = #{chargingMethod,jdbcType=VARCHAR},
</if>
<if test="writeCode != null">
write_code = #{writeCode,jdbcType=VARCHAR},
</if>
<if test="telegramFeeType != null">
telegram_fee_type = #{telegramFeeType,jdbcType=VARCHAR},
</if>
<if test="acceptanceCurrency != null">
acceptance_currency = #{acceptanceCurrency,jdbcType=VARCHAR},
</if>
<if test="acceptanceAmount != null">
acceptance_amount = #{acceptanceAmount,jdbcType=VARCHAR},
</if>
<if test="beneficiary != null">
beneficiary = #{beneficiary,jdbcType=VARCHAR},
</if>
<if test="benSettlementAccount != null">
ben_settlement_account = #{benSettlementAccount,jdbcType=VARCHAR},
</if>
<if test="payerSettlementAccount != null">
payer_settlement_account = #{payerSettlementAccount,jdbcType=VARCHAR},
</if>
<if test="payerName != null">
payer_name = #{payerName,jdbcType=VARCHAR},
</if>
<if test="deductionAccount != null">
deduction_account = #{deductionAccount,jdbcType=VARCHAR},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="saveStatus != null">
save_status = #{saveStatus,jdbcType=INTEGER},
</if>
<if test="submitStatus != null">
submit_status = #{submitStatus,jdbcType=INTEGER},
</if>
<if test="userId != null">
user_id = #{userId,jdbcType=VARCHAR},
</if>
<if test="errorNumber != null">
error_number = #{errorNumber,jdbcType=INTEGER},
</if>
<if test="number != null">
number = #{number,jdbcType=INTEGER},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.sztzjy.bank.entity.PaymentAcceptance">
update payment_acceptance
set receiving_bank_code = #{receivingBankCode,jdbcType=VARCHAR},
charging_method = #{chargingMethod,jdbcType=VARCHAR},
write_code = #{writeCode,jdbcType=VARCHAR},
telegram_fee_type = #{telegramFeeType,jdbcType=VARCHAR},
acceptance_currency = #{acceptanceCurrency,jdbcType=VARCHAR},
acceptance_amount = #{acceptanceAmount,jdbcType=VARCHAR},
beneficiary = #{beneficiary,jdbcType=VARCHAR},
ben_settlement_account = #{benSettlementAccount,jdbcType=VARCHAR},
payer_settlement_account = #{payerSettlementAccount,jdbcType=VARCHAR},
payer_name = #{payerName,jdbcType=VARCHAR},
deduction_account = #{deductionAccount,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP},
save_status = #{saveStatus,jdbcType=INTEGER},
submit_status = #{submitStatus,jdbcType=INTEGER},
user_id = #{userId,jdbcType=VARCHAR},
error_number = #{errorNumber,jdbcType=INTEGER},
number = #{number,jdbcType=INTEGER}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>

@ -13,6 +13,7 @@
<result column="error_count" jdbcType="INTEGER" property="errorCount" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="school_id" jdbcType="VARCHAR" property="schoolId" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
@ -74,7 +75,7 @@
</sql>
<sql id="Base_Column_List">
id, user_id, business_name, module, practice_progress, practice_frequency, practice_duration,
practice_results, error_count, create_time, update_time
practice_results, error_count, create_time, update_time, school_id
</sql>
<select id="selectByExample" parameterType="com.sztzjy.bank.entity.StuGradeManagementExample" resultMap="BaseResultMap">
select
@ -110,11 +111,13 @@
insert into stu_grade_management (id, user_id, business_name,
module, practice_progress, practice_frequency,
practice_duration, practice_results, error_count,
create_time, update_time)
create_time, update_time, school_id
)
values (#{id,jdbcType=VARCHAR}, #{userId,jdbcType=VARCHAR}, #{businessName,jdbcType=VARCHAR},
#{module,jdbcType=VARCHAR}, #{practiceProgress,jdbcType=DOUBLE}, #{practiceFrequency,jdbcType=INTEGER},
#{practiceDuration,jdbcType=INTEGER}, #{practiceResults,jdbcType=DECIMAL}, #{errorCount,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{schoolId,jdbcType=VARCHAR}
)
</insert>
<insert id="insertSelective" parameterType="com.sztzjy.bank.entity.StuGradeManagement">
insert into stu_grade_management
@ -152,6 +155,9 @@
<if test="updateTime != null">
update_time,
</if>
<if test="schoolId != null">
school_id,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -187,6 +193,9 @@
<if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="schoolId != null">
#{schoolId,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.sztzjy.bank.entity.StuGradeManagementExample" resultType="java.lang.Long">
@ -231,6 +240,9 @@
<if test="record.updateTime != null">
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
</if>
<if test="record.schoolId != null">
school_id = #{record.schoolId,jdbcType=VARCHAR},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
@ -248,7 +260,8 @@
practice_results = #{record.practiceResults,jdbcType=DECIMAL},
error_count = #{record.errorCount,jdbcType=INTEGER},
create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_time = #{record.updateTime,jdbcType=TIMESTAMP}
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
school_id = #{record.schoolId,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
@ -286,6 +299,9 @@
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="schoolId != null">
school_id = #{schoolId,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=VARCHAR}
</update>
@ -300,7 +316,8 @@
practice_results = #{practiceResults,jdbcType=DECIMAL},
error_count = #{errorCount,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
update_time = #{updateTime,jdbcType=TIMESTAMP},
school_id = #{schoolId,jdbcType=VARCHAR}
where id = #{id,jdbcType=VARCHAR}
</update>
</mapper>

@ -18,7 +18,7 @@
<result column="del_state" jdbcType="INTEGER" property="delState" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="practice_progress" jdbcType="DOUBLE" property="practiceProgress" />
<result column="practice_duration" jdbcType="INTEGER" property="practiceDuration" />
<result column="practice_duration" jdbcType="DOUBLE" property="practiceDuration" />
<result column="practice_results" jdbcType="DECIMAL" property="practiceResults" />
<result column="ranking" jdbcType="INTEGER" property="ranking" />
</resultMap>
@ -128,7 +128,7 @@
#{className,jdbcType=VARCHAR}, #{major,jdbcType=VARCHAR}, #{schoolId,jdbcType=VARCHAR},
#{schoolName,jdbcType=VARCHAR}, #{totalRank,jdbcType=INTEGER}, #{totalScore,jdbcType=DECIMAL},
#{createTime,jdbcType=TIMESTAMP}, #{delState,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP},
#{practiceProgress,jdbcType=DOUBLE}, #{practiceDuration,jdbcType=INTEGER}, #{practiceResults,jdbcType=DECIMAL},
#{practiceProgress,jdbcType=DOUBLE}, #{practiceDuration,jdbcType=DOUBLE}, #{practiceResults,jdbcType=DECIMAL},
#{ranking,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.sztzjy.bank.entity.StuUser">
@ -242,7 +242,7 @@
#{practiceProgress,jdbcType=DOUBLE},
</if>
<if test="practiceDuration != null">
#{practiceDuration,jdbcType=INTEGER},
#{practiceDuration,jdbcType=DOUBLE},
</if>
<if test="practiceResults != null">
#{practiceResults,jdbcType=DECIMAL},
@ -310,7 +310,7 @@
practice_progress = #{record.practiceProgress,jdbcType=DOUBLE},
</if>
<if test="record.practiceDuration != null">
practice_duration = #{record.practiceDuration,jdbcType=INTEGER},
practice_duration = #{record.practiceDuration,jdbcType=DOUBLE},
</if>
<if test="record.practiceResults != null">
practice_results = #{record.practiceResults,jdbcType=DECIMAL},
@ -341,7 +341,7 @@
del_state = #{record.delState,jdbcType=INTEGER},
update_time = #{record.updateTime,jdbcType=TIMESTAMP},
practice_progress = #{record.practiceProgress,jdbcType=DOUBLE},
practice_duration = #{record.practiceDuration,jdbcType=INTEGER},
practice_duration = #{record.practiceDuration,jdbcType=DOUBLE},
practice_results = #{record.practiceResults,jdbcType=DECIMAL},
ranking = #{record.ranking,jdbcType=INTEGER}
<if test="_parameter != null">
@ -397,7 +397,7 @@
practice_progress = #{practiceProgress,jdbcType=DOUBLE},
</if>
<if test="practiceDuration != null">
practice_duration = #{practiceDuration,jdbcType=INTEGER},
practice_duration = #{practiceDuration,jdbcType=DOUBLE},
</if>
<if test="practiceResults != null">
practice_results = #{practiceResults,jdbcType=DECIMAL},
@ -425,7 +425,7 @@
del_state = #{delState,jdbcType=INTEGER},
update_time = #{updateTime,jdbcType=TIMESTAMP},
practice_progress = #{practiceProgress,jdbcType=DOUBLE},
practice_duration = #{practiceDuration,jdbcType=INTEGER},
practice_duration = #{practiceDuration,jdbcType=DOUBLE},
practice_results = #{practiceResults,jdbcType=DECIMAL},
ranking = #{ranking,jdbcType=INTEGER}
where user_id = #{userId,jdbcType=VARCHAR}

Loading…
Cancel
Save