From d30f51ef23798fea6e83859684267cbb133fed9c Mon Sep 17 00:00:00 2001
From: heheng <heheng@123456>
Date: Mon, 20 Jan 2025 10:17:31 +0800
Subject: [PATCH] 特种作业非煤缴费版本
---
exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailRepDto.java | 2
exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayTypeEditReqDto.java | 50 ++
exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayCategoryReqDto.java | 5
exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalCategory.java | 32 +
exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayStudentReqDto.java | 44 ++
exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java | 18
exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayCategoryServiceImpl.java | 4
exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java | 112 +++++
exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayCategoryRepDto.java | 6
exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayService.java | 18
exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml | 220 +++++++++--
exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayStudentDetailRepDto.java | 46 ++
exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml | 99 +++-
exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailH5RepDto.java | 36 +
exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java | 8
exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayCategoryService.java | 2
exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayServiceImpl.java | 140 ++++++
exam-system/src/main/resources/mapper/pay/NonCoalPayCategoryMapper.xml | 5
exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java | 146 +++++++
exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayCategory.java | 13
exam-system/src/main/java/com/gkhy/exam/pay/mapper/NonCoalPayMapper.java | 27 +
exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml | 94 +++-
exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayPageRepDto.java | 34 +
exam-system/src/main/java/com/gkhy/exam/pay/mapper/NonCoalPayStudentMapper.java | 8
24 files changed, 1,035 insertions(+), 134 deletions(-)
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java b/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java
index 53d99cb..5fed10f 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/controller/NonCoalPayController.java
@@ -1,17 +1,28 @@
package com.gkhy.exam.pay.controller;
+import com.gkhy.exam.pay.dto.rep.NonCoalPayPageRepDto;
import com.gkhy.exam.pay.dto.req.NonCoalPayReqDto;
+import com.gkhy.exam.pay.dto.req.NonCoalPayStudentReqDto;
+import com.gkhy.exam.pay.dto.req.NonCoalPayTypeEditReqDto;
import com.gkhy.exam.pay.entity.NonCoalPay;
+import com.gkhy.exam.pay.entity.NonCoalPayStudent;
import com.gkhy.exam.pay.service.NonCoalPayService;
+import com.gkhy.exam.pay.service.NonCoalPayStudentService;
+import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.utils.poi.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -29,6 +40,9 @@
@Autowired
private NonCoalPayService nonCoalPayService;
+ @Autowired
+ private NonCoalPayStudentService nonCoalPayStudentService;
+
/**
* 查询非煤缴费管理列表
*/
@@ -36,7 +50,8 @@
@ApiOperation(value = "查询非煤缴费管理列表")
public TableDataInfo list(NonCoalPay nonCoalPay) {
startPage();
- List<NonCoalPay> list = nonCoalPayService.selectNonCoalPayList(nonCoalPay);
+
+ List<NonCoalPayPageRepDto> list = nonCoalPayService.selectNonCoalPayList(nonCoalPay);
return getDataTable(list);
}
@@ -55,17 +70,26 @@
* 获取非煤缴费管理详细信息
*/
- @GetMapping(value = "/{id}")
+ @GetMapping(value = "/getInfo/{id}")
@ApiOperation(value = "获取非煤缴费管理详细信息", httpMethod = "GET")
@ApiImplicitParam(name = "id", dataTypeClass = Long.class, value = "id", required = true)
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(nonCoalPayService.selectNonCoalPayById(id));
}
+ @GetMapping(value = "/getNonCoalPayStudentByPayId/{id}")
+ @ApiOperation(value = "获取非煤缴费管理学员相关详细信息", httpMethod = "GET")
+ @ApiImplicitParam(name = "id", dataTypeClass = Long.class, value = "id", required = true)
+ public AjaxResult getNonCoalPayStudentByPayId(@PathVariable("id") Long id) {
+ return success(nonCoalPayService.getNonCoalPayStudentByPayId(id));
+ }
+
+
/**
* 新增非煤缴费管理
*/
@PostMapping("/add")
+ @PreAuthorize("@ss.hasPermi('noncoal:nonpay:add')")
@ApiOperation(value = "新增非煤缴费管理")
public AjaxResult add(@Validated @RequestBody NonCoalPayReqDto nonCoalPay) {
return toAjax(nonCoalPayService.insertNonCoalPay(nonCoalPay));
@@ -81,12 +105,90 @@
return toAjax(nonCoalPayService.updateNonCoalPay(nonCoalPay));
}
+ @PostMapping("/editPayTypeInfo")
+ @ApiOperation(value = "修改非煤缴费类型管理信息")
+ public AjaxResult updateNonCoalPayType(@Validated @RequestBody NonCoalPayTypeEditReqDto nonCoalPay) {
+ return toAjax(nonCoalPayService.updateNonCoalPayType(nonCoalPay));
+ }
+
+ @GetMapping("/editPayTypeStatus")
+ @ApiOperation(value = "修改非煤缴费类型状态")
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "payPersonType", dataTypeClass = Integer.class, value = "缴费类型1个人2团体", required = true),
+ @ApiImplicitParam(name = "id", dataTypeClass = Long.class, value = "id", required = true),
+ })
+ public AjaxResult updateNonCoalPayTypeStatus(@RequestParam("payPersonType") Integer payPersonType, @RequestParam("id") Long id) {
+ return toAjax(nonCoalPayService.updateNonCoalPayTypeStatus(payPersonType, id));
+ }
+
/**
* 删除非煤缴费管理
*/
- @DeleteMapping("/{ids}")
+ @DeleteMapping("/id")
@ApiOperation(value = "删除非煤缴费管理")
- public AjaxResult remove(@PathVariable Long[] ids) {
- return toAjax(nonCoalPayService.deleteNonCoalPayByIds(ids));
+ @ApiImplicitParam(name = "id", dataTypeClass = Long.class, value = "id", required = true)
+ public AjaxResult remove(@PathVariable Long id) {
+ return toAjax(nonCoalPayService.deleteNonCoalPayById(id));
}
+
+
+ /**
+ * 新增【请填写功能名称】
+ */
+ @PostMapping("/addNonCoalStu")
+ @ApiOperation(value = "新增非煤缴费学员")
+ public AjaxResult addNonCoalStu(@Validated @RequestBody NonCoalPayStudent nonCoalPayStudent) {
+ return toAjax(nonCoalPayStudentService.insertNonCoalPayStudent(nonCoalPayStudent));
+ }
+
+ /**
+ * 修改【请填写功能名称】
+ */
+ @PostMapping("/editNonCoalStu")
+ @ApiOperation(value = "修改非煤缴费学员")
+ public AjaxResult editNonCoalStu(@RequestBody NonCoalPayStudent nonCoalPayStudent) {
+ return toAjax(nonCoalPayStudentService.updateNonCoalPayStudent(nonCoalPayStudent));
+ }
+
+ /**
+ * 删除【请填写功能名称】
+ */
+ @DeleteMapping("/delNonCalStu/id")
+ @ApiOperation(value = "删除非煤缴费学员")
+ @ApiImplicitParam(name = "id", dataTypeClass = Long.class, value = "id", required = true)
+ public AjaxResult delNonCalStu(@PathVariable Long id) {
+ return toAjax(nonCoalPayStudentService.deleteNonCoalPayStudentById(id));
+ }
+
+
+ @PostMapping("/stuImportData")
+ public AjaxResult importData(MultipartFile file, Long nonCoalPayId) throws Exception {
+ ExcelUtil<NonCoalPayStudent> util = new ExcelUtil<NonCoalPayStudent>(NonCoalPayStudent.class);
+ List<NonCoalPayStudent> nonCoalPayStudents = util.importExcel(file.getInputStream());
+ String operName = getUsername();
+ String message = nonCoalPayStudentService.importData(nonCoalPayStudents, operName, nonCoalPayId);
+ return success(message);
+ }
+
+ @PostMapping("/updateNonCoalStu")
+ @ApiOperation(value = "更新财政缴款码")
+ @Anonymous
+ public AjaxResult updateNonCoalStu(@RequestBody NonCoalPayStudentReqDto nonCoalPayStudent) {
+ return toAjax(nonCoalPayStudentService.updateNonCoalStu(nonCoalPayStudent));
+ }
+
+
+ @GetMapping("/nonCoalSelectH5")
+ @ApiOperation(value = "H5查询缴费信息")
+ @Anonymous
+ @ApiImplicitParams({
+ @ApiImplicitParam(name = "phone", dataTypeClass = String.class, value = "电话", required = true),
+ @ApiImplicitParam(name = "idCard", dataTypeClass = String.class, value = "idCard", required = true),
+ })
+ @RepeatSubmit
+ public AjaxResult nonCoalSelectH5(@RequestParam("phone") String phone, @RequestParam("idCard") String idCard) {
+ return success(nonCoalPayService.selectNonCoalPayByStu(phone, idCard));
+ }
+
+
}
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayCategoryRepDto.java b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayCategoryRepDto.java
index a1c485e..6e442f9 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayCategoryRepDto.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayCategoryRepDto.java
@@ -5,6 +5,7 @@
import lombok.Data;
import java.io.Serializable;
+import java.math.BigDecimal;
/**
@@ -37,7 +38,7 @@
private Long categoryId;
@ApiModelProperty("类别名称")
- private String categoryName;
+ private String subjectName;
/**
* 类别1理论2实操
@@ -45,5 +46,8 @@
@ApiModelProperty("类别类型id")
private Long categoryType;
+ @ApiModelProperty("缴费金额")
+ private BigDecimal categoryAmount;
+
}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailH5RepDto.java b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailH5RepDto.java
new file mode 100644
index 0000000..abf6597
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailH5RepDto.java
@@ -0,0 +1,36 @@
+package com.gkhy.exam.pay.dto.rep;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 【请填写功能名称】对象 non_coal_pay
+ *
+ * @author hh
+ * @date 2025-01-16
+ */
+@ApiModel(value = "非煤缴费管理对象H5详情", description = "非煤缴费管理对象H5详情")
+@Data
+public class NonCoalPayDetailH5RepDto extends NonCoalPayDetailRepDto {
+ private static final long serialVersionUID = 1L;
+
+
+ /**
+ *
+ */
+ @ApiModelProperty("交款人数据id")
+ private Long nonCoalStudentId;
+
+ @ApiModelProperty("缴费人电话")
+ private String phone;
+
+ @ApiModelProperty("缴费人身份证号")
+ private String idCard;
+
+
+ @ApiModelProperty("缴费人名称")
+ private String studentName;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayRepDto.java b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailRepDto.java
similarity index 96%
rename from exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayRepDto.java
rename to exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailRepDto.java
index 0a84667..5a4196e 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayRepDto.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayDetailRepDto.java
@@ -17,7 +17,7 @@
*/
@ApiModel(value = "非煤缴费管理对象详情", description = "非煤缴费管理对象详情")
@Data
-public class NonCoalPayRepDto implements Serializable {
+public class NonCoalPayDetailRepDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayPageRepDto.java b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayPageRepDto.java
new file mode 100644
index 0000000..94e904e
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayPageRepDto.java
@@ -0,0 +1,34 @@
+package com.gkhy.exam.pay.dto.rep;
+
+import com.gkhy.exam.pay.entity.NonCoalPay;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * 【请填写功能名称】对象 non_coal_pay
+ *
+ * @author hh
+ * @date 2025-01-16
+ */
+@ApiModel(value = "非煤缴费管理对象列表", description = "非煤缴费管理对象列表")
+@Data
+public class NonCoalPayPageRepDto extends NonCoalPay {
+ private static final long serialVersionUID = 1L;
+
+
+ @ApiModelProperty("考试点名称")
+ private String deptName;
+
+
+ @ApiModelProperty("地州名称")
+ private String districtName;
+
+ @ApiModelProperty("总数量")
+ private Integer totalNum;
+
+ @ApiModelProperty("未缴费数量")
+ private Integer havePayNum;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayStudentDetailRepDto.java b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayStudentDetailRepDto.java
new file mode 100644
index 0000000..6163ca3
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/dto/rep/NonCoalPayStudentDetailRepDto.java
@@ -0,0 +1,46 @@
+package com.gkhy.exam.pay.dto.rep;
+
+import com.gkhy.exam.pay.entity.NonCoalPayStudent;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+
+/**
+ * 【请填写功能名称】对象 non_coal_pay
+ *
+ * @author hh
+ * @date 2025-01-16
+ */
+@ApiModel(value = "非煤缴费管理学员对象详情", description = "非煤缴费管理学员对象详情")
+@Data
+public class NonCoalPayStudentDetailRepDto extends NonCoalPayDetailRepDto {
+ private static final long serialVersionUID = 1L;
+
+
+ @ApiModelProperty("已缴费数量")
+ private Integer payCount;
+
+ @ApiModelProperty("未缴费数量")
+ private Integer unPayCount;
+
+ @ApiModelProperty("总计数量")
+ private Integer totalCount;
+
+ @ApiModelProperty("已缴费费用")
+ private BigDecimal payCountFee;
+
+ @ApiModelProperty("未缴费费用")
+ private BigDecimal unPayCountFee;
+
+ @ApiModelProperty("总计费用")
+ private BigDecimal totalCountFee;
+
+
+ @ApiModelProperty("非煤学员")
+ private List<NonCoalPayStudent> nonCoalPayStudentList;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayCategoryReqDto.java b/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayCategoryReqDto.java
index 54755eb..c917562 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayCategoryReqDto.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayCategoryReqDto.java
@@ -6,6 +6,7 @@
import javax.validation.constraints.NotNull;
import java.io.Serializable;
+import java.math.BigDecimal;
/**
@@ -46,5 +47,9 @@
@ApiModelProperty("类别类型id")
private Long categoryType;
+ @ApiModelProperty("金额")
+ @NotNull(message = "金额不能为空")
+ private BigDecimal categoryAmount;
+
}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayStudentReqDto.java b/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayStudentReqDto.java
new file mode 100644
index 0000000..6ceaacf
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayStudentReqDto.java
@@ -0,0 +1,44 @@
+package com.gkhy.exam.pay.dto.req;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+
+/**
+ * 非煤缴费管理学员对象 non_coal_pay_student
+ *
+ * @author hh
+ * @date 2025-01-16
+ */
+@Data
+@ApiModel(value = "非煤缴费管理学员缴费回调更新对象", description = "非煤缴费管理学员缴费回调更新对象")
+public class NonCoalPayStudentReqDto extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * $column.columnComment
+ */
+ @NotNull
+ private Long id;
+
+ @ApiModelProperty("缴费管理id")
+ private Long nonCoalPayId;
+
+ /**
+ * 财政缴款码
+ */
+ @ApiModelProperty("财政缴款码")
+ private String payCode;
+
+// /**
+// * 是否缴款0否1是
+// */
+// @ApiModelProperty("是否缴款0否1是")
+// private Long payStatus;
+
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayTypeEditReqDto.java b/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayTypeEditReqDto.java
new file mode 100644
index 0000000..57c30db
--- /dev/null
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/dto/req/NonCoalPayTypeEditReqDto.java
@@ -0,0 +1,50 @@
+package com.gkhy.exam.pay.dto.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+
+
+/**
+ * 【请填写功能名称】对象 non_coal_pay
+ *
+ * @author hh
+ * @date 2025-01-16
+ */
+@ApiModel(value = "非煤缴费修改缴费类型", description = "非煤缴费修改缴费类型")
+@Data
+public class NonCoalPayTypeEditReqDto implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * $column.columnComment
+ */
+ @NotNull(message = "参数不能为空")
+ private Long id;
+
+ /**
+ * 交款人类型1个人2团体
+ */
+ @NotNull(message = "交款人类型不能为空")
+ @ApiModelProperty("交款人类型")
+ private Integer payPersonType;
+
+ /**
+ * 缴款单位名称
+ */
+ @ApiModelProperty("缴款单位证件号")
+ @NotBlank(message = "缴款单位证件号不能为空")
+ private String payCompanyName;
+
+ /**
+ * 缴款单位证件号
+ */
+ @ApiModelProperty("缴款单位证件号")
+ @NotBlank(message = "缴款单位证件号不能为空")
+ private String payCompanyCard;
+
+}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalCategory.java b/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalCategory.java
index b6dde96..36dc1f9 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalCategory.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalCategory.java
@@ -1,6 +1,7 @@
package com.gkhy.exam.pay.entity;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
@@ -124,6 +125,29 @@
@ApiModelProperty(value = "删除标志", hidden = true)
private Integer delFlag;
+
+ @TableField(exist = false)
+ private String operateTypeName;
+
+ @TableField(exist = false)
+ private String districtName;
+
+ public String getDistrictName() {
+ return districtName;
+ }
+
+ public void setDistrictName(String districtName) {
+ this.districtName = districtName;
+ }
+
+ public String getOperateTypeName() {
+ return operateTypeName;
+ }
+
+ public void setOperateTypeName(String operateTypeName) {
+ this.operateTypeName = operateTypeName;
+ }
+
public void setId(Long id) {
this.id = id;
}
@@ -172,11 +196,11 @@
return amount;
}
- public void setBussinessCode(String bussinessCode) {
- this.businessCode = bussinessCode;
+ public void setBusinessCode(String businessCode) {
+ this.businessCode = businessCode;
}
- public String getBussinessCode() {
+ public String getBusinessCode() {
return businessCode;
}
@@ -237,7 +261,7 @@
.append("subjectName", getSubjectName())
.append("operateTypeId", getOperateTypeId())
.append("amount", getAmount())
- .append("bussinessCode", getBussinessCode())
+ .append("businessCode", getBusinessCode())
.append("companyCode", getCompanyCode())
.append("drawer", getDrawer())
.append("reviewer", getReviewer())
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayCategory.java b/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayCategory.java
index f01adef..b4fb938 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayCategory.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayCategory.java
@@ -11,6 +11,7 @@
import org.apache.commons.lang3.builder.ToStringStyle;
import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
/**
@@ -54,11 +55,23 @@
@ApiModelProperty("类别类型id")
private Long categoryType;
+ @Excel(name = "金额")
+ @ApiModelProperty("金额")
+ @NotNull(message = "金额不能为空")
+ private BigDecimal categoryAmount;
/**
* 删除标志(0代表存在2代表删除)
*/
private Integer delFlag;
+ public BigDecimal getCategoryAmount() {
+ return categoryAmount;
+ }
+
+ public void setCategoryAmount(BigDecimal categoryAmount) {
+ this.categoryAmount = categoryAmount;
+ }
+
public void setId(Long id) {
this.id = id;
}
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java b/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java
index 090264d..2da67a1 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/entity/NonCoalPayStudent.java
@@ -34,7 +34,6 @@
/**
* 缴费id
*/
- @Excel(name = "缴费id")
@NotNull(message = "参数不能为空")
@ApiModelProperty("缴费管理id")
private Long nonCoalPayId;
@@ -66,23 +65,24 @@
/**
* 0男 1女 2未知
*/
- @Excel(name = "0男 1女 2未知")
- @ApiModelProperty("性别")
+ @Excel(name = "性别")
+ @ApiModelProperty("性别 0男1女2未知")
private Long sex;
/**
* 财政缴款码
*/
- @Excel(name = "财政缴款码")
@ApiModelProperty("财政缴款码")
private String payCode;
/**
* 是否缴款0否1是
*/
- @Excel(name = "是否缴款0否1是")
@ApiModelProperty("是否缴款")
private Long payStatus;
+
+ @ApiModelProperty("缴费类型1个人 2团体")
+ private Long payType;
/**
* 删除标志(0代表存在2代表删除)
@@ -179,4 +179,12 @@
.append("delFlag", getDelFlag())
.toString();
}
+
+ public Long getPayType() {
+ return payType;
+ }
+
+ public void setPayType(Long payType) {
+ this.payType = payType;
+ }
}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/mapper/NonCoalPayMapper.java b/exam-system/src/main/java/com/gkhy/exam/pay/mapper/NonCoalPayMapper.java
index 803cbd2..7af9957 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/mapper/NonCoalPayMapper.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/mapper/NonCoalPayMapper.java
@@ -1,7 +1,11 @@
package com.gkhy.exam.pay.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gkhy.exam.pay.dto.rep.NonCoalPayDetailH5RepDto;
+import com.gkhy.exam.pay.dto.rep.NonCoalPayDetailRepDto;
+import com.gkhy.exam.pay.dto.rep.NonCoalPayPageRepDto;
import com.gkhy.exam.pay.entity.NonCoalPay;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -12,8 +16,7 @@
* @author hh
* @date 2025-01-16
*/
-public interface NonCoalPayMapper extends BaseMapper<NonCoalPay>
-{
+public interface NonCoalPayMapper extends BaseMapper<NonCoalPay> {
/**
* 查询【请填写功能名称】
*
@@ -23,12 +26,30 @@
public NonCoalPay selectNonCoalPayById(Long id);
/**
+ * 获取详情
+ *
+ * @return
+ */
+ NonCoalPayDetailRepDto getNonCoalPayById(Long id);
+
+ /**
+ * H5查询
+ *
+ * @param phone
+ * @param idCard
+ * @return
+ */
+ NonCoalPayDetailH5RepDto selectNonCoalPayByParam(@Param("phone") String phone, @Param("idCard") String idCard);
+
+ /**
* 查询【请填写功能名称】列表
*
* @param nonCoalPay 【请填写功能名称】
* @return 【请填写功能名称】集合
*/
public List<NonCoalPay> selectNonCoalPayList(NonCoalPay nonCoalPay);
+
+ List<NonCoalPayPageRepDto> getNonCoalPayList(NonCoalPay nonCoalPay);
/**
* 新增【请填写功能名称】
@@ -52,7 +73,7 @@
* @param id 【请填写功能名称】主键
* @return 结果
*/
- public int deleteNonCoalPayById(Long id);
+ public int deleteNonCoalPayById(@Param("id") Long id, @Param("updateBy") String updateBy);
/**
* 批量删除【请填写功能名称】
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/mapper/NonCoalPayStudentMapper.java b/exam-system/src/main/java/com/gkhy/exam/pay/mapper/NonCoalPayStudentMapper.java
index fae957e..bbd6c53 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/mapper/NonCoalPayStudentMapper.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/mapper/NonCoalPayStudentMapper.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gkhy.exam.pay.entity.NonCoalPayStudent;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -12,8 +13,7 @@
* @author hh
* @date 2025-01-16
*/
-public interface NonCoalPayStudentMapper extends BaseMapper<NonCoalPayStudent>
-{
+public interface NonCoalPayStudentMapper extends BaseMapper<NonCoalPayStudent> {
/**
* 查询【请填写功能名称】
*
@@ -46,13 +46,15 @@
*/
public int updateNonCoalPayStudent(NonCoalPayStudent nonCoalPayStudent);
+ int updateNonCoalPayStudentType(@Param("id") Long id, @Param("updateBy") String updateBy);
+
/**
* 删除【请填写功能名称】
*
* @param id 【请填写功能名称】主键
* @return 结果
*/
- public int deleteNonCoalPayStudentById(Long id);
+ public int deleteNonCoalPayStudentById(@Param("id") Long id, @Param("updateBy") String updateBy);
/**
* 批量删除【请填写功能名称】
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayCategoryService.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayCategoryService.java
index e4e0f78..2207e05 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayCategoryService.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayCategoryService.java
@@ -20,7 +20,7 @@
*/
public NonCoalPayCategory selectNonCoalPayCategoryById(Long id);
- int saveBacth(List<NonCoalPayCategory> list);
+ boolean saveBatchData(List<NonCoalPayCategory> list);
/**
* 查询非煤缴费种类关联列表
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayService.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayService.java
index 2e3f4f4..4eef09d 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayService.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayService.java
@@ -1,7 +1,12 @@
package com.gkhy.exam.pay.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.pay.dto.rep.NonCoalPayDetailH5RepDto;
+import com.gkhy.exam.pay.dto.rep.NonCoalPayDetailRepDto;
+import com.gkhy.exam.pay.dto.rep.NonCoalPayPageRepDto;
+import com.gkhy.exam.pay.dto.rep.NonCoalPayStudentDetailRepDto;
import com.gkhy.exam.pay.dto.req.NonCoalPayReqDto;
+import com.gkhy.exam.pay.dto.req.NonCoalPayTypeEditReqDto;
import com.gkhy.exam.pay.entity.NonCoalPay;
import java.util.List;
@@ -19,7 +24,10 @@
* @param id 【请填写功能名称】主键
* @return 【请填写功能名称】
*/
- public NonCoalPay selectNonCoalPayById(Long id);
+ public NonCoalPayDetailRepDto selectNonCoalPayById(Long id);
+
+
+ NonCoalPayDetailH5RepDto selectNonCoalPayByStu(String phone, String idCard);
/**
* 查询【请填写功能名称】列表
@@ -27,7 +35,9 @@
* @param nonCoalPay 【请填写功能名称】
* @return 【请填写功能名称】集合
*/
- public List<NonCoalPay> selectNonCoalPayList(NonCoalPay nonCoalPay);
+ public List<NonCoalPayPageRepDto> selectNonCoalPayList(NonCoalPay nonCoalPay);
+
+ NonCoalPayStudentDetailRepDto getNonCoalPayStudentByPayId(Long id);
/**
* 新增【请填写功能名称】
@@ -45,6 +55,10 @@
*/
public int updateNonCoalPay(NonCoalPayReqDto nonCoalPay);
+ public int updateNonCoalPayType(NonCoalPayTypeEditReqDto nonCoalPay);
+
+ public int updateNonCoalPayTypeStatus(int payPersonType, Long id);
+
/**
* 批量删除【请填写功能名称】
*
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java
index 65b4097..79d879f 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/NonCoalPayStudentService.java
@@ -1,6 +1,7 @@
package com.gkhy.exam.pay.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.gkhy.exam.pay.dto.req.NonCoalPayStudentReqDto;
import com.gkhy.exam.pay.entity.NonCoalPayStudent;
import java.util.List;
@@ -19,6 +20,7 @@
* @return 【请填写功能名称】
*/
public NonCoalPayStudent selectNonCoalPayStudentById(Long id);
+
/**
* 查询【请填写功能名称】列表
@@ -44,6 +46,10 @@
*/
public int updateNonCoalPayStudent(NonCoalPayStudent nonCoalPayStudent);
+ int updateNonCoalStu(NonCoalPayStudentReqDto nonCoalPayStudent);
+
+ void checkHavePayData(Long nonPayId);
+
/**
* 批量删除【请填写功能名称】
*
@@ -59,4 +65,6 @@
* @return 结果
*/
public int deleteNonCoalPayStudentById(Long id);
+
+ public String importData(List<NonCoalPayStudent> nonCoalPayStudents, String operName, Long nonCoalPayId);
}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayCategoryServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayCategoryServiceImpl.java
index 8582e0f..f0a5c28 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayCategoryServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayCategoryServiceImpl.java
@@ -34,8 +34,8 @@
}
@Override
- public int saveBacth(List<NonCoalPayCategory> list) {
- return saveBacth(list);
+ public boolean saveBatchData(List<NonCoalPayCategory> list) {
+ return saveBatch(list);
}
/**
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayServiceImpl.java
index c0f46c7..30bf5de 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayServiceImpl.java
@@ -1,13 +1,23 @@
package com.gkhy.exam.pay.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.pay.dto.rep.NonCoalPayDetailH5RepDto;
+import com.gkhy.exam.pay.dto.rep.NonCoalPayDetailRepDto;
+import com.gkhy.exam.pay.dto.rep.NonCoalPayPageRepDto;
+import com.gkhy.exam.pay.dto.rep.NonCoalPayStudentDetailRepDto;
import com.gkhy.exam.pay.dto.req.NonCoalPayCategoryReqDto;
import com.gkhy.exam.pay.dto.req.NonCoalPayReqDto;
+import com.gkhy.exam.pay.dto.req.NonCoalPayTypeEditReqDto;
import com.gkhy.exam.pay.entity.NonCoalPay;
import com.gkhy.exam.pay.entity.NonCoalPayCategory;
+import com.gkhy.exam.pay.entity.NonCoalPayStudent;
import com.gkhy.exam.pay.mapper.NonCoalPayMapper;
+import com.gkhy.exam.pay.mapper.NonCoalPayStudentMapper;
import com.gkhy.exam.pay.service.NonCoalPayCategoryService;
import com.gkhy.exam.pay.service.NonCoalPayService;
+import com.gkhy.exam.pay.service.NonCoalPayStudentService;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
@@ -15,6 +25,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -31,6 +42,10 @@
private NonCoalPayMapper nonCoalPayMapper;
@Resource
private NonCoalPayCategoryService nonCoalPayCategoryService;
+ @Resource
+ private NonCoalPayStudentService nonCoalPayStudentService;
+ @Resource
+ private NonCoalPayStudentMapper nonCoalPayStudentMapper;
/**
* 查询【请填写功能名称】
@@ -39,8 +54,13 @@
* @return 【请填写功能名称】
*/
@Override
- public NonCoalPay selectNonCoalPayById(Long id) {
- return nonCoalPayMapper.selectNonCoalPayById(id);
+ public NonCoalPayDetailRepDto selectNonCoalPayById(Long id) {
+ return nonCoalPayMapper.getNonCoalPayById(id);
+ }
+
+ @Override
+ public NonCoalPayDetailH5RepDto selectNonCoalPayByStu(String phone, String idCard) {
+ return nonCoalPayMapper.selectNonCoalPayByParam(phone, idCard);
}
@@ -51,8 +71,46 @@
* @return 【请填写功能名称】
*/
@Override
- public List<NonCoalPay> selectNonCoalPayList(NonCoalPay nonCoalPay) {
- return nonCoalPayMapper.selectNonCoalPayList(nonCoalPay);
+ public List<NonCoalPayPageRepDto> selectNonCoalPayList(NonCoalPay nonCoalPay) {
+ if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())) {
+ nonCoalPay.setDistrictCode(SecurityUtils.getDeptDistrictCode());
+ }
+ return nonCoalPayMapper.getNonCoalPayList(nonCoalPay);
+ }
+
+ @Override
+ public NonCoalPayStudentDetailRepDto getNonCoalPayStudentByPayId(Long id) {
+ NonCoalPayDetailRepDto nonCoalPayById = nonCoalPayMapper.getNonCoalPayById(id);
+ NonCoalPayStudentDetailRepDto data = new NonCoalPayStudentDetailRepDto();
+ if (nonCoalPayById != null) {
+ BeanUtils.copyProperties(nonCoalPayById, data);
+ NonCoalPayStudent student = new NonCoalPayStudent();
+ student.setNonCoalPayId(nonCoalPayById.getId());
+ List<NonCoalPayStudent> nonCoalPayStudents = nonCoalPayStudentService.selectNonCoalPayStudentList(student);
+ data.setNonCoalPayStudentList(nonCoalPayStudents);
+ if (nonCoalPayStudents != null && !nonCoalPayStudents.isEmpty()) {
+ int payCount = (int) nonCoalPayStudents.stream()
+ .filter(stu -> stu.getPayStatus() == 1)
+ .count();
+ int size = nonCoalPayStudents.size();
+ data.setPayCount(payCount);
+ data.setUnPayCount(size - payCount);
+ data.setTotalCount(size);
+ data.setPayCountFee(new BigDecimal(payCount).multiply(data.getAmount()));
+ data.setUnPayCountFee(new BigDecimal(size - payCount).multiply(data.getAmount()));
+ data.setTotalCountFee(new BigDecimal(size).multiply(data.getAmount()));
+ } else {
+ data.setPayCount(0);
+ data.setUnPayCount(0);
+ data.setTotalCount(0);
+ data.setPayCountFee(new BigDecimal(0));
+ data.setUnPayCountFee(new BigDecimal(0));
+ data.setTotalCountFee(new BigDecimal(0));
+ }
+
+ return data;
+ }
+ return null;
}
/**
@@ -64,27 +122,46 @@
@Override
@Transactional
public int insertNonCoalPay(NonCoalPayReqDto nonCoalPay) {
- //todo 校验
+ checkData(nonCoalPay);
NonCoalPay nonCoalPay1 = new NonCoalPay();
BeanUtils.copyProperties(nonCoalPay, nonCoalPay1);
nonCoalPay1.setCreateBy(SecurityUtils.getUsername());
int i = nonCoalPayMapper.insertNonCoalPay(nonCoalPay1);
if (i > 0) {
- saveNonCoalPayCategory(nonCoalPay.getNonCoalPayCategoryList());
+ saveNonCoalPayCategory(nonCoalPay.getNonCoalPayCategoryList(), nonCoalPay1.getId());
}
return i;
}
- private void saveNonCoalPayCategory(List<NonCoalPayCategoryReqDto> nonCoalPayCategoryList) {
+ private void saveNonCoalPayCategory(List<NonCoalPayCategoryReqDto> nonCoalPayCategoryList, Long id) {
List<NonCoalPayCategory> nonCoalPayCategories = new ArrayList<>();
for (NonCoalPayCategoryReqDto nonCoalPayCategory : nonCoalPayCategoryList) {
NonCoalPayCategory nonCoalPayCategory1 = new NonCoalPayCategory();
BeanUtils.copyProperties(nonCoalPayCategory, nonCoalPayCategory1);
+ nonCoalPayCategory1.setNonCoalPayId(id);
nonCoalPayCategory1.setCreateBy(SecurityUtils.getUsername());
nonCoalPayCategories.add(nonCoalPayCategory1);
}
- nonCoalPayCategoryService.saveBacth(nonCoalPayCategories);
+ boolean b = nonCoalPayCategoryService.saveBatchData(nonCoalPayCategories);
+ if (!b) {
+ throw new ServiceException("保存失败");
+ }
+ }
+
+
+ private void checkData(NonCoalPayReqDto nonCoalPay) {
+ LambdaQueryWrapper<NonCoalPay> lambdaQueryWrapper = Wrappers.<NonCoalPay>lambdaQuery()
+ .eq(NonCoalPay::getDistrictCode, nonCoalPay.getDistrictCode())
+ .eq(NonCoalPay::getBatchName, nonCoalPay.getBatchName())
+ .eq(NonCoalPay::getDelFlag, 0);
+ if (nonCoalPay.getId() == null) {
+ lambdaQueryWrapper.ne(NonCoalPay::getId, nonCoalPay.getId());
+ }
+ Long l = baseMapper.selectCount(lambdaQueryWrapper);
+ if (l > 0) {
+ throw new ServiceException("该批次已存在");
+ }
}
/**
@@ -96,7 +173,8 @@
@Override
@Transactional
public int updateNonCoalPay(NonCoalPayReqDto nonCoalPay) {
- //todo 校验
+ checkData(nonCoalPay);
+ checkHavePay(nonCoalPay.getId());
NonCoalPay nonCoalPay1 = new NonCoalPay();
BeanUtils.copyProperties(nonCoalPay, nonCoalPay1);
nonCoalPay1.setUpdateBy(SecurityUtils.getUsername());
@@ -106,7 +184,37 @@
if (i1 < 1) {
throw new ServiceException("更新失败");
}
- saveNonCoalPayCategory(nonCoalPay.getNonCoalPayCategoryList());
+ saveNonCoalPayCategory(nonCoalPay.getNonCoalPayCategoryList(), nonCoalPay1.getId());
+ }
+ return i;
+ }
+
+ @Override
+ public int updateNonCoalPayType(NonCoalPayTypeEditReqDto nonCoalPay) {
+ NonCoalPay nonCoalPay1 = new NonCoalPay();
+ BeanUtils.copyProperties(nonCoalPay, nonCoalPay1);
+ nonCoalPay1.setUpdateBy(SecurityUtils.getUsername());
+ return nonCoalPayMapper.updateNonCoalPay(nonCoalPay1);
+ }
+
+ @Override
+ @Transactional
+ public int updateNonCoalPayTypeStatus(int payPersonType, Long id) {
+ NonCoalPay byId = getById(id);
+ if (byId == null) {
+ throw new ServiceException("该数据不存在");
+ }
+ if (byId.getPayPersonType() == 2) {
+ throw new ServiceException("已是团体缴费不可变更缴费方式!");
+ }
+ NonCoalPay nonCoalPay1 = new NonCoalPay();
+ nonCoalPay1.setPayPersonType(payPersonType);
+ nonCoalPay1.setId(id);
+ nonCoalPay1.setUpdateBy(SecurityUtils.getUsername());
+ int i = nonCoalPayMapper.updateNonCoalPay(nonCoalPay1);
+ if (payPersonType == 2) {
+ //更新未缴费的为团体
+ nonCoalPayStudentMapper.updateNonCoalPayStudentType(id, SecurityUtils.getUsername());
}
return i;
}
@@ -130,6 +238,16 @@
*/
@Override
public int deleteNonCoalPayById(Long id) {
- return nonCoalPayMapper.deleteNonCoalPayById(id);
+ NonCoalPay byId = getById(id);
+ if (byId == null) {
+ throw new ServiceException("该数据不存在");
+ }
+ //验证是否有学员已缴费
+ checkHavePay(id);
+ return nonCoalPayMapper.deleteNonCoalPayById(id, SecurityUtils.getUsername());
+ }
+
+ private void checkHavePay(Long id) {
+ nonCoalPayStudentService.checkHavePayData(id);
}
}
\ No newline at end of file
diff --git a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java
index 86af351..5ca08df 100644
--- a/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java
+++ b/exam-system/src/main/java/com/gkhy/exam/pay/service/impl/NonCoalPayStudentServiceImpl.java
@@ -1,14 +1,23 @@
package com.gkhy.exam.pay.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gkhy.exam.pay.dto.req.NonCoalPayStudentReqDto;
import com.gkhy.exam.pay.entity.NonCoalPayStudent;
import com.gkhy.exam.pay.mapper.NonCoalPayStudentMapper;
import com.gkhy.exam.pay.service.NonCoalPayStudentService;
-import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
/**
@@ -33,6 +42,7 @@
return nonCoalPayStudentMapper.selectNonCoalPayStudentById(id);
}
+
/**
* 查询【请填写功能名称】列表
*
@@ -52,7 +62,8 @@
*/
@Override
public int insertNonCoalPayStudent(NonCoalPayStudent nonCoalPayStudent) {
- nonCoalPayStudent.setCreateTime(DateUtils.getNowDate());
+ checkSameData(nonCoalPayStudent);
+ nonCoalPayStudent.setCreateBy(SecurityUtils.getUsername());
return nonCoalPayStudentMapper.insertNonCoalPayStudent(nonCoalPayStudent);
}
@@ -64,9 +75,63 @@
*/
@Override
public int updateNonCoalPayStudent(NonCoalPayStudent nonCoalPayStudent) {
- nonCoalPayStudent.setUpdateTime(DateUtils.getNowDate());
+ checkData(nonCoalPayStudent.getId());
+ checkSameData(nonCoalPayStudent);
+ nonCoalPayStudent.setUpdateBy(SecurityUtils.getUsername());
return nonCoalPayStudentMapper.updateNonCoalPayStudent(nonCoalPayStudent);
}
+
+ @Override
+ public int updateNonCoalStu(NonCoalPayStudentReqDto nonCoalPayStudent) {
+
+ if (nonCoalPayStudent.getId() != null) {
+ NonCoalPayStudent nonCoalPayStudent1 = selectNonCoalPayStudentById(nonCoalPayStudent.getId());
+ if (nonCoalPayStudent1 != null) {
+ nonCoalPayStudent1.setPayCode(nonCoalPayStudent.getPayCode());
+ nonCoalPayStudent1.setPayStatus(1L);
+ nonCoalPayStudent1.setUpdateBy(SecurityUtils.getUsername());
+ } else {
+ log.error("修改缴费学员失败,该缴费学员不存在:" + nonCoalPayStudent.getId());
+ }
+ } else {
+ if (nonCoalPayStudent.getNonCoalPayId() != null) {
+ baseMapper.update(null, Wrappers.<NonCoalPayStudent>lambdaUpdate()
+ .set(NonCoalPayStudent::getUpdateBy, SecurityUtils.getUsername())
+ .set(NonCoalPayStudent::getPayCode, nonCoalPayStudent.getPayCode())
+ .set(NonCoalPayStudent::getPayStatus, 1L)
+ .eq(NonCoalPayStudent::getNonCoalPayId, nonCoalPayStudent.getNonCoalPayId())
+ .eq(NonCoalPayStudent::getPayStatus, 0L).eq(NonCoalPayStudent::getDelFlag, 0));
+ }
+ }
+ return 0;
+ }
+
+ private void checkSameData(NonCoalPayStudent nonCoalPay) {
+ LambdaQueryWrapper<NonCoalPayStudent> lambdaQueryWrapper = Wrappers.<NonCoalPayStudent>lambdaQuery()
+ .eq(NonCoalPayStudent::getNonCoalPayId, nonCoalPay.getNonCoalPayId())
+ .eq(NonCoalPayStudent::getIdCard, nonCoalPay.getIdCard())
+ .eq(NonCoalPayStudent::getDelFlag, 0);
+ if (nonCoalPay.getId() == null) {
+ lambdaQueryWrapper.ne(NonCoalPayStudent::getId, nonCoalPay.getId());
+ }
+ Long l = baseMapper.selectCount(lambdaQueryWrapper);
+ if (l > 0) {
+ throw new ServiceException("该缴费学员已存在");
+ }
+ }
+
+ @Override
+ public void checkHavePayData(Long nonPayId) {
+ LambdaQueryWrapper<NonCoalPayStudent> lambdaQueryWrapper = Wrappers.<NonCoalPayStudent>lambdaQuery()
+ .eq(NonCoalPayStudent::getNonCoalPayId, nonPayId)
+ .eq(NonCoalPayStudent::getDelFlag, 0).eq(NonCoalPayStudent::getPayStatus, 1L);
+
+ Long l = baseMapper.selectCount(lambdaQueryWrapper);
+ if (l > 0) {
+ throw new ServiceException("已开始缴费不可修改");
+ }
+ }
+
/**
* 批量删除【请填写功能名称】
@@ -87,6 +152,79 @@
*/
@Override
public int deleteNonCoalPayStudentById(Long id) {
- return nonCoalPayStudentMapper.deleteNonCoalPayStudentById(id);
+ checkData(id);
+ return nonCoalPayStudentMapper.deleteNonCoalPayStudentById(id, SecurityUtils.getUsername());
+ }
+
+ @Override
+ public String importData(List<NonCoalPayStudent> nonCoalPayStudents, String operName, Long nonCoalPayId) {
+ if (StringUtils.isNull(nonCoalPayStudents) || nonCoalPayStudents.isEmpty()) {
+ throw new ServiceException("导入数据不能为空!");
+ }
+
+ Set<String> collect = nonCoalPayStudents.stream()
+ .map(NonCoalPayStudent::getIdCard)
+ .collect(Collectors.toSet());
+ if (collect.size() != nonCoalPayStudents.size()) {
+ throw new ServiceException("导入数据不能有重复身份证号!");
+ }
+ Map<String, String> idCardToNameMap = new HashMap<>();
+ NonCoalPayStudent student = new NonCoalPayStudent();
+ student.setNonCoalPayId(nonCoalPayId);
+
+ List<NonCoalPayStudent> nonCoalPayStudents1 = nonCoalPayStudentMapper.selectNonCoalPayStudentList(student);
+ if (nonCoalPayStudents1 != null && !nonCoalPayStudents1.isEmpty()) {
+ idCardToNameMap = nonCoalPayStudents1.stream()
+ .collect(Collectors.toMap(
+ NonCoalPayStudent::getIdCard,
+ NonCoalPayStudent::getIdCard
+ ));
+ }
+ int successNum = 0;
+ int failureNum = 0;
+ StringBuilder successMsg = new StringBuilder();
+ StringBuilder failureMsg = new StringBuilder();
+ for (NonCoalPayStudent stu : nonCoalPayStudents) {
+ try {
+ if (idCardToNameMap.get(stu.getIdCard().trim()) != null) {
+ failureMsg.append("<br/>" + failureNum + "、身份证号: " + stu.getIdCard() + " 数据已存在");
+ } else {
+ stu.setPayType(1L);
+ stu.setPayStatus(0L);
+ stu.setNonCoalPayId(nonCoalPayId);
+ save(stu);
+ successNum++;
+ successMsg.append("<br/>" + successNum + "、身份证号 " + stu.getIdCard() + " 导入成功");
+ idCardToNameMap.put(stu.getIdCard(), stu.getIdCard());
+ }
+
+ } catch (Exception e) {
+ failureNum++;
+ String msg = "<br/>" + failureNum + "、身份证号 " + stu.getIdCard() + " 导入失败:";
+ failureMsg.append(msg + e.getMessage());
+ log.error(msg, e);
+ }
+ }
+ if (failureNum > 0) {
+ failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
+ throw new ServiceException(failureMsg.toString());
+ } else {
+ successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
+ }
+ return successMsg.toString();
+ }
+
+ private NonCoalPayStudent checkData(Long id) {
+ NonCoalPayStudent byId = getById(id);
+ if (byId == null) {
+ throw new RuntimeException("该数据不存在");
+ }
+ if (byId.getDelFlag() == 2) {
+ throw new RuntimeException("该数据已删除");
+ }
+ if (byId.getPayStatus() == 1) {
+ throw new RuntimeException("该数据已缴费,不可操作");
+ }
+ return byId;
}
}
\ No newline at end of file
diff --git a/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml b/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml
index 4d36750..f44bd8b 100644
--- a/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml
+++ b/exam-system/src/main/resources/mapper/pay/NonCoalCategoryMapper.xml
@@ -21,6 +21,13 @@
<result property="updateTime" column="update_time"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
+ <result property="operateTypeName" column="operate_type_name"/>
+ <result property="districtName" column="district_name"/>
+ </resultMap>
+
+ <resultMap type="NonCoalCategory" id="NonCoalCategoryResultVO" extends="NonCoalCategoryResult">
+ <result property="operateTypeName" column="operate_type_name"/>
+
</resultMap>
<sql id="selectNonCoalCategoryVo">
@@ -30,38 +37,90 @@
subject_name,
operate_type_id,
amount,
- bussiness_code,
+ business_code,
company_code,
drawer,
reviewer,
- invoicing_company_code, describe, update_by, update_time, create_by, create_time
+ invoicing_company_code,
+ `describe`,
+ update_by,
+ update_time,
+ create_by,
+ create_time
from non_coal_category
</sql>
<select id="selectNonCoalCategoryList" parameterType="NonCoalCategory" resultMap="NonCoalCategoryResult">
- <include refid="selectNonCoalCategoryVo"/>
+ select a.id,
+ a.district_code,
+ a.category_type,
+ a.subject_name,
+ a.operate_type_id,
+ a.amount,
+ a.business_code,
+ a.company_code,
+ a.drawer,
+ a.reviewer,
+ a.invoicing_company_code,
+ a.`describe`,
+ a.update_by,
+ a.update_time,
+ a.create_by,
+ a.create_time,
+ (SELECT GROUP_CONCAT(name SEPARATOR '/') FROM sys_operate_type
+ WHERE FIND_IN_SET(id, (SELECT ancestors FROM sys_operate_type WHERE id = a.operate_type_id)) or id =
+ a.operate_type_id ) operate_type_name,
+ b.name district_name
+ from non_coal_category a
+ left join sys_district b on a.district_code = b.code
<where>
- <if test="districtCode != null and districtCode != ''">and district_code = #{districtCode}</if>
- <if test="categoryType != null ">and category_type = #{categoryType}</if>
- <if test="subjectName != null and subjectName != ''">and subject_name like concat('%', #{subjectName},
+ and a.del_flag = 0
+ <if test="districtCode != null and districtCode != ''">and a.district_code = #{districtCode}</if>
+ <if test="categoryType != null ">and a.category_type = #{categoryType}</if>
+ <if test="subjectName != null and subjectName != ''">and a.subject_name like concat('%', #{subjectName},
'%')
</if>
- <if test="operateTypeId != null ">and operate_type_id = #{operateTypeId}</if>
- <if test="amount != null ">and amount = #{amount}</if>
- <if test="bussinessCode != null and bussinessCode != ''">and bussiness_code = #{bussinessCode}</if>
- <if test="companyCode != null and companyCode != ''">and company_code = #{companyCode}</if>
- <if test="drawer != null and drawer != ''">and drawer = #{drawer}</if>
- <if test="reviewer != null and reviewer != ''">and reviewer = #{reviewer}</if>
- <if test="invoicingCompanyCode != null and invoicingCompanyCode != ''">and invoicing_company_code =
+ <if test="operateTypeId != null ">and a.operate_type_id = #{operateTypeId}</if>
+ <if test="amount != null ">and a.amount = #{amount}</if>
+ <if test="bussinessCode != null and bussinessCode != ''">and a.business_code = #{bussinessCode}</if>
+ <if test="companyCode != null and companyCode != ''">and a.company_code = #{companyCode}</if>
+ <if test="drawer != null and drawer != ''">and a.drawer = #{drawer}</if>
+ <if test="reviewer != null and reviewer != ''">and a.reviewer = #{reviewer}</if>
+ <if test="invoicingCompanyCode != null and invoicingCompanyCode != ''">and a.invoicing_company_code =
#{invoicingCompanyCode}
</if>
- <if test="describe != null and describe != ''">and describe = #{describe}</if>
+ <if test="describe != null and describe != ''">and a.`describe` = #{describe}</if>
</where>
+ order by create_time desc
</select>
<select id="selectNonCoalCategoryById" parameterType="Long" resultMap="NonCoalCategoryResult">
- <include refid="selectNonCoalCategoryVo"/>
- where id = #{id}
+ select a.id,
+ a.district_code,
+ a.category_type,
+ a.subject_name,
+ a.operate_type_id,
+ a.amount,
+ a.business_code,
+ a.company_code,
+ a.drawer,
+ a.reviewer,
+ a.invoicing_company_code,
+ a.`describe`,
+ a.update_by,
+ a.update_time,
+ a.create_by,
+ a.create_time,
+ (SELECT GROUP_CONCAT(name SEPARATOR '/')
+ FROM sys_operate_type
+ WHERE FIND_IN_SET(id, (SELECT ancestors FROM sys_operate_type WHERE id = a.operate_type_id))
+ or id =
+ a.operate_type_id) operate_type_name,
+ b.name district_name
+ from non_coal_category a
+ left join sys_district b on a.district_code = b.code
+
+ where a.id = #{id}
</select>
<insert id="insertNonCoalCategory" parameterType="NonCoalCategory" useGeneratedKeys="true" keyProperty="id">
@@ -72,12 +131,12 @@
<if test="subjectName != null and subjectName != ''">subject_name,</if>
<if test="operateTypeId != null">operate_type_id,</if>
<if test="amount != null">amount,</if>
- <if test="bussinessCode != null and bussinessCode != ''">bussiness_code,</if>
+ <if test="bussinessCode != null and bussinessCode != ''">business_code,</if>
<if test="companyCode != null and companyCode != ''">company_code,</if>
<if test="drawer != null and drawer != ''">drawer,</if>
<if test="reviewer != null and reviewer != ''">reviewer,</if>
<if test="invoicingCompanyCode != null and invoicingCompanyCode != ''">invoicing_company_code,</if>
- <if test="describe != null">describe,</if>
+ <if test="describe != null">`describe`,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="createBy != null">create_by,</if>
@@ -112,14 +171,14 @@
<if test="subjectName != null and subjectName != ''">subject_name = #{subjectName},</if>
<if test="operateTypeId != null">operate_type_id = #{operateTypeId},</if>
<if test="amount != null">amount = #{amount},</if>
- <if test="bussinessCode != null and bussinessCode != ''">bussiness_code = #{bussinessCode},</if>
+ <if test="bussinessCode != null and bussinessCode != ''">business_code = #{bussinessCode},</if>
<if test="companyCode != null and companyCode != ''">company_code = #{companyCode},</if>
<if test="drawer != null and drawer != ''">drawer = #{drawer},</if>
<if test="reviewer != null and reviewer != ''">reviewer = #{reviewer},</if>
<if test="invoicingCompanyCode != null and invoicingCompanyCode != ''">invoicing_company_code =
#{invoicingCompanyCode},
</if>
- <if test="describe != null">describe = #{describe},</if>
+ <if test="describe != null">`describe` = #{describe},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
diff --git a/exam-system/src/main/resources/mapper/pay/NonCoalPayCategoryMapper.xml b/exam-system/src/main/resources/mapper/pay/NonCoalPayCategoryMapper.xml
index abe1aa5..c836dcc 100644
--- a/exam-system/src/main/resources/mapper/pay/NonCoalPayCategoryMapper.xml
+++ b/exam-system/src/main/resources/mapper/pay/NonCoalPayCategoryMapper.xml
@@ -9,6 +9,7 @@
<result property="nonCoalPayId" column="non_coal_pay_id"/>
<result property="categoryId" column="category_id"/>
<result property="categoryType" column="category_type"/>
+ <result property="categoryAmount" column="category_amount"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
<result property="createBy" column="create_by"/>
@@ -21,6 +22,7 @@
non_coal_pay_id,
category_id,
category_type,
+ category_amount,
update_by,
update_time,
create_by,
@@ -50,6 +52,7 @@
<if test="nonCoalPayId != null">non_coal_pay_id,</if>
<if test="categoryId != null">category_id,</if>
<if test="categoryType != null">category_type,</if>
+ <if test="categoryAmount != null">category_amount,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="createBy != null">create_by,</if>
@@ -61,6 +64,7 @@
<if test="nonCoalPayId != null">#{nonCoalPayId},</if>
<if test="categoryId != null">#{categoryId},</if>
<if test="categoryType != null">#{categoryType},</if>
+ <if test="categoryAmount != null">#{categoryAmount},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createBy != null">#{createBy},</if>
@@ -75,6 +79,7 @@
<if test="nonCoalPayId != null">non_coal_pay_id = #{nonCoalPayId},</if>
<if test="categoryId != null">category_id = #{categoryId},</if>
<if test="categoryType != null">category_type = #{categoryType},</if>
+ <if test="categoryAmount != null">category_amount = #{categoryAmount},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
diff --git a/exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml b/exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml
index 3016cea..1452f5f 100644
--- a/exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml
+++ b/exam-system/src/main/resources/mapper/pay/NonCoalPayMapper.xml
@@ -1,52 +1,189 @@
<?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">
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.pay.mapper.NonCoalPayMapper">
-
+
<resultMap type="NonCoalPay" id="NonCoalPayResult">
- <result property="id" column="id" />
- <result property="batchName" column="batch_name" />
- <result property="deptId" column="dept_id" />
- <result property="districtCode" column="district_code" />
- <result property="payType" column="pay_type" />
- <result property="amount" column="amount" />
- <result property="year" column="year" />
- <result property="quarter" column="quarter" />
- <result property="payPersonType" column="pay_person_type" />
- <result property="payCompanyName" column="pay_company_name" />
- <result property="payCompanyCard" column="pay_company_card" />
- <result property="updateBy" column="update_by" />
- <result property="updateTime" column="update_time" />
- <result property="createBy" column="create_by" />
- <result property="createTime" column="create_time" />
- <result property="delFlag" column="del_flag" />
+ <result property="id" column="id"/>
+ <result property="batchName" column="batch_name"/>
+ <result property="deptId" column="dept_id"/>
+ <result property="districtCode" column="district_code"/>
+ <result property="payType" column="pay_type"/>
+ <result property="amount" column="amount"/>
+ <result property="year" column="year"/>
+ <result property="quarter" column="quarter"/>
+ <result property="payPersonType" column="pay_person_type"/>
+ <result property="payCompanyName" column="pay_company_name"/>
+ <result property="payCompanyCard" column="pay_company_card"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="delFlag" column="del_flag"/>
+ </resultMap>
+ <resultMap id="NonCoalPayPageResult" type="com.gkhy.exam.pay.dto.rep.NonCoalPayPageRepDto"
+ extends="NonCoalPayResult">
+ <result property="deptName" column="dept_name"/>
+ <result property="districtName" column="district_name"/>
+ <result property="totalNum" column="total_num"/>
+ <result property="havePayNum" column="have_pay_num"/>
</resultMap>
+ <resultMap type="com.gkhy.exam.pay.dto.rep.NonCoalPayDetailRepDto" id="getNonCoalPayResult">
+ <result property="id" column="id"/>
+ <result property="batchName" column="batch_name"/>
+ <result property="deptId" column="dept_id"/>
+ <result property="deptName" column="dept_name"/>
+ <result property="districtCode" column="district_code"/>
+ <result property="districtName" column="district_name"/>
+ <result property="payType" column="pay_type"/>
+ <result property="amount" column="amount"/>
+ <result property="year" column="year"/>
+ <result property="quarter" column="quarter"/>
+ <collection property="nonCoalPayCategoryList" javaType="java.util.List" resultMap="nonCoalPayCategoryList"/>
+ </resultMap>
+ <resultMap id="nonCoalPayCategoryList" type="com.gkhy.exam.pay.dto.rep.NonCoalPayCategoryRepDto">
+ <result property="id" column="non_category_id"/>
+ <result property="nonCoalPayId" column="non_coal_pay_id"/>
+ <result property="categoryId" column="category_id"/>
+ <result property="subjectName" column="subject_name"/>
+ <result property="categoryType" column="category_type"/>
+ <result property="categoryAmount" column="category_amount"/>
+ </resultMap>
+
+ <resultMap id="getNonCoalPayResultH5" type="com.gkhy.exam.pay.dto.rep.NonCoalPayDetailH5RepDto">
+ <result property="nonCoalStudentId" column="non_coal_student_id"/>
+ <result property="phone" column="phone"/>
+ <result property="idCard" column="id_card"/>
+ <result property="studentName" column="student_name"/>
+
+ </resultMap>
+
+
<sql id="selectNonCoalPayVo">
- select id, batch_name, dept_id, district_code, pay_type, amount, year, quarter, pay_person_type, pay_company_name, pay_company_card, update_by, update_time, create_by, create_time, del_flag from non_coal_pay
+ select id,
+ batch_name,
+ dept_id,
+ district_code,
+ pay_type,
+ amount, year, quarter, pay_person_type, pay_company_name, pay_company_card, update_by, update_time, create_by, create_time, del_flag
+ from non_coal_pay
</sql>
<select id="selectNonCoalPayList" parameterType="NonCoalPay" resultMap="NonCoalPayResult">
<include refid="selectNonCoalPayVo"/>
- <where>
- <if test="batchName != null and batchName != ''"> and batch_name like concat('%', #{batchName}, '%')</if>
- <if test="deptId != null "> and dept_id = #{deptId}</if>
- <if test="districtCode != null and districtCode != ''"> and district_code = #{districtCode}</if>
- <if test="payType != null "> and pay_type = #{payType}</if>
- <if test="amount != null "> and amount = #{amount}</if>
- <if test="year != null and year != ''"> and year = #{year}</if>
- <if test="quarter != null "> and quarter = #{quarter}</if>
- <if test="payPersonType != null "> and pay_person_type = #{payPersonType}</if>
- <if test="payCompanyName != null and payCompanyName != ''"> and pay_company_name like concat('%', #{payCompanyName}, '%')</if>
- <if test="payCompanyCard != null and payCompanyCard != ''"> and pay_company_card = #{payCompanyCard}</if>
+ <where>
+ <if test="batchName != null and batchName != ''">and batch_name like concat('%', #{batchName}, '%')</if>
+ <if test="deptId != null ">and dept_id = #{deptId}</if>
+ <if test="districtCode != null and districtCode != ''">and district_code = #{districtCode}</if>
+ <if test="payType != null ">and pay_type = #{payType}</if>
+ <if test="amount != null ">and amount = #{amount}</if>
+ <if test="year != null and year != ''">and year = #{year}</if>
+ <if test="quarter != null ">and quarter = #{quarter}</if>
+ <if test="payPersonType != null ">and pay_person_type = #{payPersonType}</if>
+ <if test="payCompanyName != null and payCompanyName != ''">and pay_company_name like concat('%',
+ #{payCompanyName}, '%')
+ </if>
+ <if test="payCompanyCard != null and payCompanyCard != ''">and pay_company_card = #{payCompanyCard}</if>
</where>
</select>
-
+
+
+ <select id="getNonCoalPayList" parameterType="NonCoalPay" resultMap="NonCoalPayPageResult">
+ select a.id,
+ a.batch_name,
+ a.dept_id,
+ a.district_code,
+ d.dept_name ,
+ d2.name as district_name,
+ a.pay_type,
+ a.amount, a.year, a.quarter, a.pay_person_type, a.pay_company_name, a.pay_company_card, a.update_by,
+ a.update_time, a.create_by, a.create_time, (select count(id) from non_coal_pay_student where a.id =
+ non_coal_pay_id) as total_num,
+ (select count(id) from non_coal_pay_student where a.id = non_coal_pay_id and pay_status = 1) as have_pay_num
+ from non_coal_pay a
+ left join sys_dept d on a.dept_id = d.dept_id
+ left join sys_district d2 on a.district_code = d2.code
+ where 1=1 and a.del_flag = 0
+ <if test="batchName != null and batchName != ''">and a.batch_name like concat('%', #{batchName}, '%')</if>
+ <if test="deptId != null ">and a.dept_id = #{deptId}</if>
+ <if test="districtCode != null and districtCode != ''">and a.district_code = #{districtCode}</if>
+ <if test="payType != null ">and a.pay_type = #{payType}</if>
+ <if test="amount != null ">and a.amount = #{amount}</if>
+ <if test="year != null and year != ''">and a.year = #{year}</if>
+ <if test="quarter != null ">and a.quarter = #{quarter}</if>
+ <if test="payPersonType != null ">and a.pay_person_type = #{payPersonType}</if>
+ <if test="payCompanyName != null and payCompanyName != ''">and a.pay_company_name like concat('%',
+ #{payCompanyName}, '%')
+ </if>
+
+ <if test="payCompanyCard != null and payCompanyCard != ''">and a.pay_company_card = #{payCompanyCard}</if>
+ order by a.create_time desc
+ </select>
+
<select id="selectNonCoalPayById" parameterType="Long" resultMap="NonCoalPayResult">
<include refid="selectNonCoalPayVo"/>
where id = #{id}
</select>
+
+
+ <select id="getNonCoalPayById" parameterType="Long" resultMap="getNonCoalPayResult">
+ select a.id,
+ a.batch_name,
+ a.dept_id,
+ d2.name as district_name,
+ d.dept_name,
+ a.district_code,
+ a.pay_type,
+ a.amount,
+ a.year,
+ a.quarter,
+ b.id as non_category_id,
+ b.category_id,
+ c.subject_name,
+ c.category_type,
+ b.category_amount
+ from non_coal_pay a
+ inner join non_coal_pay_category b on a.id = b.non_coal_pay_id and b.del_flag = 0
+ left join non_coal_category c on b.category_id = c.id and c.del_flag = 0
+ left join sys_dept d on a.dept_id = d.dept_id
+ left join sys_district d2 on a.district_code = d2.code
+ where a.id = #{id}
+ </select>
+
+ <select id="selectNonCoalPayByParam" resultMap="getNonCoalPayResultH5">
+ select a.id,
+ a.batch_name,
+ a.dept_id,
+ d2.name as district_name,
+ d.dept_name,
+ a.district_code,
+ a.pay_type,
+ a.amount,
+ a.year,
+ a.quarter,
+ b.id as non_category_id,
+ b.category_id,
+ c.subject_name,
+ c.category_type,
+ b.category_amount,
+ t.id as non_coal_student_id,
+ t.phone,
+ t.id_card,
+ t.name as student_name
+ from non_coal_pay a
+ inner join non_coal_pay_student t on t.non_coal_pay_id = a.id and t.del_flag = 0
+ inner join non_coal_pay_category b on a.id = b.non_coal_pay_id and b.del_flag = 0
+ left join non_coal_category c on b.category_id = c.id and c.del_flag = 0
+ left join sys_dept d on a.dept_id = d.dept_id
+ left join sys_district d2 on a.district_code = d2.code
+ where a.del_flag = 0
+ and t.pay_status = 0
+ and t.phone = #{phone}
+ and t.id_card = #{idCard} limit 1
+ </select>
+
<insert id="insertNonCoalPay" parameterType="NonCoalPay" useGeneratedKeys="true" keyProperty="id">
insert into non_coal_pay
@@ -66,7 +203,7 @@
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="delFlag != null">del_flag,</if>
- </trim>
+ </trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="batchName != null and batchName != ''">#{batchName},</if>
<if test="deptId != null">#{deptId},</if>
@@ -83,7 +220,7 @@
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="delFlag != null">#{delFlag},</if>
- </trim>
+ </trim>
</insert>
<update id="updateNonCoalPay" parameterType="NonCoalPay">
@@ -108,14 +245,17 @@
where id = #{id}
</update>
- <delete id="deleteNonCoalPayById" parameterType="Long">
- delete from non_coal_pay where id = #{id}
- </delete>
+ <update id="deleteNonCoalPayById" parameterType="Long">
+ update non_coal_pay
+ set del_flag = 2,
+ update_by = #{updateBy} non_coal_pay
+ where id = #{id}
+ </update>
- <delete id="deleteNonCoalPayByIds" parameterType="String">
- delete from non_coal_pay where id in
+ <update id="deleteNonCoalPayByIds">
+ update non_coal_pay set del_flag = 2 set where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
- </delete>
+ </update>
</mapper>
\ No newline at end of file
diff --git a/exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml b/exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml
index 6bccdb1..b609a23 100644
--- a/exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml
+++ b/exam-system/src/main/resources/mapper/pay/NonCoalPayStudentMapper.xml
@@ -1,42 +1,60 @@
<?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">
+ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+ "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gkhy.exam.pay.mapper.NonCoalPayStudentMapper">
-
+
<resultMap type="NonCoalPayStudent" id="NonCoalPayStudentResult">
- <result property="id" column="id" />
- <result property="nonCoalPayId" column="non_coal_pay_id" />
- <result property="name" column="name" />
- <result property="idCard" column="id_card" />
- <result property="phone" column="phone" />
- <result property="sex" column="sex" />
- <result property="payCode" column="pay_code" />
- <result property="payStatus" column="pay_status" />
- <result property="updateBy" column="update_by" />
- <result property="updateTime" column="update_time" />
- <result property="createBy" column="create_by" />
- <result property="createTime" column="create_time" />
- <result property="delFlag" column="del_flag" />
+ <result property="id" column="id"/>
+ <result property="nonCoalPayId" column="non_coal_pay_id"/>
+ <result property="name" column="name"/>
+ <result property="idCard" column="id_card"/>
+ <result property="phone" column="phone"/>
+ <result property="sex" column="sex"/>
+ <result property="payCode" column="pay_code"/>
+ <result property="payStatus" column="pay_status"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="delFlag" column="del_flag"/>
+ <result property="payType" column="pay_type"/>
</resultMap>
<sql id="selectNonCoalPayStudentVo">
- select id, non_coal_pay_id, name, id_card, phone, sex, pay_code, pay_status, update_by, update_time, create_by, create_time, del_flag from non_coal_pay_student
+ select id,
+ non_coal_pay_id,
+ name,
+ id_card,
+ phone,
+ sex,
+ pay_code,
+ pay_status,
+ update_by,
+ update_time,
+ create_by,
+ create_time,
+ del_flag,
+ pay_type
+ from non_coal_pay_student
</sql>
<select id="selectNonCoalPayStudentList" parameterType="NonCoalPayStudent" resultMap="NonCoalPayStudentResult">
<include refid="selectNonCoalPayStudentVo"/>
- <where>
- <if test="nonCoalPayId != null "> and non_coal_pay_id = #{nonCoalPayId}</if>
- <if test="name != null and name != ''"> and name like concat('%', #{name}, '%')</if>
- <if test="idCard != null and idCard != ''"> and id_card = #{idCard}</if>
- <if test="phone != null and phone != ''"> and phone = #{phone}</if>
- <if test="sex != null "> and sex = #{sex}</if>
- <if test="payCode != null and payCode != ''"> and pay_code = #{payCode}</if>
- <if test="payStatus != null "> and pay_status = #{payStatus}</if>
+ <where>
+ and del_flag = 0
+ <if test="nonCoalPayId != null ">and non_coal_pay_id = #{nonCoalPayId}</if>
+ <if test="name != null and name != ''">and name like concat('%', #{name}, '%')</if>
+ <if test="idCard != null and idCard != ''">and id_card = #{idCard}</if>
+ <if test="phone != null and phone != ''">and phone = #{phone}</if>
+ <if test="sex != null ">and sex = #{sex}</if>
+ <if test="payCode != null and payCode != ''">and pay_code = #{payCode}</if>
+ <if test="payStatus != null ">and pay_status = #{payStatus}</if>
+ <if test="payType != null ">and pay_type = #{payType}</if>
</where>
+ order by create_time desc
</select>
-
+
<select id="selectNonCoalPayStudentById" parameterType="Long" resultMap="NonCoalPayStudentResult">
<include refid="selectNonCoalPayStudentVo"/>
where id = #{id}
@@ -52,13 +70,14 @@
<if test="phone != null and phone != ''">phone,</if>
<if test="sex != null">sex,</if>
<if test="payCode != null">pay_code,</if>
+ <if test="payType != null">pay_type,</if>
<if test="payStatus != null">pay_status,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="delFlag != null">del_flag,</if>
- </trim>
+ </trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="nonCoalPayId != null">#{nonCoalPayId},</if>
@@ -67,15 +86,22 @@
<if test="phone != null and phone != ''">#{phone},</if>
<if test="sex != null">#{sex},</if>
<if test="payCode != null">#{payCode},</if>
+ <if test="payType != null">#{payType},</if>
<if test="payStatus != null">#{payStatus},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="delFlag != null">#{delFlag},</if>
- </trim>
+ </trim>
</insert>
+ <update id="updateNonCoalPayStudentType">
+ update non_coal_pay_student
+ set pay_type = 2,
+ update_by = #{updateBy}
+ where non_coal_pay_id = #{id}
+ </update>
<update id="updateNonCoalPayStudent" parameterType="NonCoalPayStudent">
update non_coal_pay_student
<trim prefix="SET" suffixOverrides=",">
@@ -84,6 +110,7 @@
<if test="idCard != null and idCard != ''">id_card = #{idCard},</if>
<if test="phone != null and phone != ''">phone = #{phone},</if>
<if test="sex != null">sex = #{sex},</if>
+ <if test="payType != null">pay_type = #{payType},</if>
<if test="payCode != null">pay_code = #{payCode},</if>
<if test="payStatus != null">pay_status = #{payStatus},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
@@ -95,12 +122,15 @@
where id = #{id}
</update>
- <delete id="deleteNonCoalPayStudentById" parameterType="Long">
- delete from non_coal_pay_student where id = #{id}
- </delete>
+ <update id="deleteNonCoalPayStudentById">
+ update non_coal_pay_student
+ set del_flag = 2,
+ update_by = #{updateBy}
+ where id = #{id}
+ </update>
<delete id="deleteNonCoalPayStudentByIds" parameterType="String">
- delete from non_coal_pay_student where id in
+ delete from non_coal_pay_student where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
--
Gitblit v1.9.2