From bf8602574fb825691147964c1e9436c3df855dc5 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 22 一月 2024 15:17:11 +0800
Subject: [PATCH] 开发业务接口
---
server/service/src/main/java/com/doumee/service/business/MemberInsuranceService.java | 97 +++++++
server/company/src/main/java/com/doumee/api/business/MemberInsuranceController.java | 90 ++++++
server/service/src/main/java/com/doumee/core/utils/Constants.java | 9
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java | 28 ++
server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java | 6
server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java | 182 ++++++++++++++
db/business.member_insurance.permissions.sql | 6
server/platform/src/main/java/com/doumee/api/business/MemberInsuranceController.java | 90 ++++++
server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java | 2
server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java | 86 ++++++
server/service/src/main/java/com/doumee/dao/business/MemberInsuranceMapper.java | 12
server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java | 124 +++++++++
12 files changed, 731 insertions(+), 1 deletions(-)
diff --git a/db/business.member_insurance.permissions.sql b/db/business.member_insurance.permissions.sql
new file mode 100644
index 0000000..f74a126
--- /dev/null
+++ b/db/business.member_insurance.permissions.sql
@@ -0,0 +1,6 @@
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:memberinsurance:create', '鏂板缓鍛樺伐鎶曚繚鏄庣粏璁板綍', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:memberinsurance:delete', '鍒犻櫎鍛樺伐鎶曚繚鏄庣粏璁板綍', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:memberinsurance:update', '淇敼鍛樺伐鎶曚繚鏄庣粏璁板綍', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:memberinsurance:query', '鏌ヨ鍛樺伐鎶曚繚鏄庣粏璁板綍', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+INSERT INTO `SYSTEM_PERMISSION`(`CODE`, `NAME`, `REMARK`, `FIXED`, `CREATE_USER`, `CREATE_TIME`, `UPDATE_USER`, `UPDATE_TIME`, `DELETED`) VALUES ('business:memberinsurance:exportExcel', '瀵煎嚭鍛樺伐鎶曚繚鏄庣粏璁板綍(Excel)', '', 0, 1, CURRENT_TIMESTAMP, NULL, NULL, 0);
+
diff --git a/server/company/src/main/java/com/doumee/api/business/MemberInsuranceController.java b/server/company/src/main/java/com/doumee/api/business/MemberInsuranceController.java
new file mode 100644
index 0000000..22f6137
--- /dev/null
+++ b/server/company/src/main/java/com/doumee/api/business/MemberInsuranceController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.dao.business.model.MemberInsurance;
+import com.doumee.service.business.MemberInsuranceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/22 11:55
+ */
+@Api(tags = "鍛樺伐鎶曚繚鏄庣粏璁板綍")
+@RestController
+@RequestMapping("/business/memberInsurance")
+public class MemberInsuranceController extends BaseController {
+
+ @Autowired
+ private MemberInsuranceService memberInsuranceService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:memberinsurance:create")
+ public ApiResponse create(@RequestBody MemberInsurance memberInsurance) {
+ return ApiResponse.success(memberInsuranceService.create(memberInsurance));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:memberinsurance:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ memberInsuranceService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:memberinsurance:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ memberInsuranceService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:memberinsurance:update")
+ public ApiResponse updateById(@RequestBody MemberInsurance memberInsurance) {
+ memberInsuranceService.updateById(memberInsurance);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:memberinsurance:query")
+ public ApiResponse<PageData<MemberInsurance>> findPage (@RequestBody PageWrap<MemberInsurance> pageWrap) {
+ return ApiResponse.success(memberInsuranceService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:memberinsurance:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<MemberInsurance> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(MemberInsurance.class).export(memberInsuranceService.findPage(pageWrap).getRecords(), "鍛樺伐鎶曚繚鏄庣粏璁板綍", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:memberinsurance:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(memberInsuranceService.findById(id));
+ }
+}
diff --git a/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java b/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
index a4505a4..ae33dc8 100644
--- a/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -112,6 +112,12 @@
public void exportExcel (@RequestBody PageWrap<InsuranceApplyQueryDTO> pageWrap, HttpServletResponse response) {
ExcelExporter.build(InsuranceApply.class).export(insuranceApplyService.findPage(pageWrap).getRecords(), "鎶曚繚鐢宠淇℃伅琛�", response);
}
+ @ApiOperation("瀵煎嚭鎶曚繚璇︽儏鍗�")
+ @PostMapping("/exportDetailExcel")
+ @RequiresPermissions("business:insuranceapply:exportExcel")
+ public void exportExcel (@RequestBody InsuranceApply model, HttpServletResponse response) {
+ ExcelExporter.build(InsuranceApply.class).exportApplyDetail(insuranceApplyService.findDetailForExport(model), response);
+ }
@ApiOperation("鏍规嵁ID鏌ヨ")
@GetMapping("/{id}")
diff --git a/server/platform/src/main/java/com/doumee/api/business/MemberInsuranceController.java b/server/platform/src/main/java/com/doumee/api/business/MemberInsuranceController.java
new file mode 100644
index 0000000..22f6137
--- /dev/null
+++ b/server/platform/src/main/java/com/doumee/api/business/MemberInsuranceController.java
@@ -0,0 +1,90 @@
+package com.doumee.api.business;
+
+import com.doumee.api.BaseController;
+import com.doumee.core.annotation.excel.ExcelExporter;
+import com.doumee.core.annotation.pr.PreventRepeat;
+import com.doumee.core.model.ApiResponse;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.model.PageData;
+import com.doumee.dao.business.model.MemberInsurance;
+import com.doumee.service.business.MemberInsuranceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/22 11:55
+ */
+@Api(tags = "鍛樺伐鎶曚繚鏄庣粏璁板綍")
+@RestController
+@RequestMapping("/business/memberInsurance")
+public class MemberInsuranceController extends BaseController {
+
+ @Autowired
+ private MemberInsuranceService memberInsuranceService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:memberinsurance:create")
+ public ApiResponse create(@RequestBody MemberInsurance memberInsurance) {
+ return ApiResponse.success(memberInsuranceService.create(memberInsurance));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:memberinsurance:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ memberInsuranceService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鎵归噺鍒犻櫎")
+ @GetMapping("/delete/batch")
+ @RequiresPermissions("business:memberinsurance:delete")
+ public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+ String [] idArray = ids.split(",");
+ List<Integer> idList = new ArrayList<>();
+ for (String id : idArray) {
+ idList.add(Integer.valueOf(id));
+ }
+ memberInsuranceService.deleteByIdInBatch(idList);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:memberinsurance:update")
+ public ApiResponse updateById(@RequestBody MemberInsurance memberInsurance) {
+ memberInsuranceService.updateById(memberInsurance);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:memberinsurance:query")
+ public ApiResponse<PageData<MemberInsurance>> findPage (@RequestBody PageWrap<MemberInsurance> pageWrap) {
+ return ApiResponse.success(memberInsuranceService.findPage(pageWrap));
+ }
+
+ @ApiOperation("瀵煎嚭Excel")
+ @PostMapping("/exportExcel")
+ @RequiresPermissions("business:memberinsurance:exportExcel")
+ public void exportExcel (@RequestBody PageWrap<MemberInsurance> pageWrap, HttpServletResponse response) {
+ ExcelExporter.build(MemberInsurance.class).export(memberInsuranceService.findPage(pageWrap).getRecords(), "鍛樺伐鎶曚繚鏄庣粏璁板綍", response);
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:memberinsurance:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(memberInsuranceService.findById(id));
+ }
+}
diff --git a/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
index b236b07..b186485 100644
--- a/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
+++ b/server/service/src/main/java/com/doumee/core/annotation/excel/ExcelExporter.java
@@ -2,6 +2,9 @@
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
+import com.doumee.core.utils.Constants;
+import com.doumee.dao.business.model.ApplyDetail;
+import com.doumee.dao.business.model.InsuranceApply;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.apache.commons.lang3.StringUtils;
@@ -397,6 +400,89 @@
return stringValue;
}
+ public void exportApplyDetail(InsuranceApply model, HttpServletResponse response) {
+ try {
+ String encodeFileName = URLEncoder.encode("鎶曚繚璇︽儏鍗昣"+model.getCompanyName()+"_"+model.getSolutionsName(), Charset.forName("UTF-8").toString()) + ".xlsx";
+ response.setHeader("Content-Disposition","attachment;filename=" + encodeFileName);
+ response.setContentType("application/octet-stream");
+ response.setHeader("eva-opera-type", "download");
+ response.setHeader("eva-download-filename", encodeFileName);
+ this.exportApplyDetailDo(model,"鎶曚繚鐢宠琛�", response.getOutputStream());
+ } catch (IOException e) {
+ throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e);
+ }
+ }
+
+ /**
+ * 瀵煎嚭鍒版寚瀹氳緭鍑烘祦
+ * @param data 鏁版嵁
+ * @param sheetName Sheet鍚嶇О
+ * @param os 杈撳嚭娴�
+ */
+ public void exportApplyDetailDo (InsuranceApply data, String sheetName, OutputStream os) {
+ SXSSFWorkbook sxssfWorkbook;
+ try {
+ sxssfWorkbook = new SXSSFWorkbook();
+ Sheet sheet = sxssfWorkbook.createSheet(sheetName);
+ sheet.createFreezePane(0, 1);
+ sheet.addMergedRegion(new CellRangeAddress(0 ,0,0,6));
+ Row title = sheet.createRow(0);
+ title.setHeight((short) 1000);
+ Cell c = title.createCell(0);
+ c.setCellValue(sheetName);
+ configFirstCell(sxssfWorkbook,c);
+ Row header1 = sheet.createRow(1);
+ header1.createCell(0).setCellValue("鎶曚繚浼佷笟");
+ header1.createCell(1).setCellValue("淇濋櫓鏂规");
+ header1.createCell(2).setCellValue("淇濋櫓鐢熸晥璧锋湡");
+ header1.createCell(3).setCellValue("淇濋櫓鐢熸晥姝㈡湡");
+ header1.createCell(4).setCellValue("鎶曚繚浜烘暟");
+ header1.createCell(5).setCellValue("鎬昏垂鐢紙鍏冿級");
+ Row header2 = sheet.createRow(2);
+ header2.createCell(0).setCellValue(data.getCompanyName());
+ header2.createCell(1).setCellValue(data.getSolutionsName());
+ header2.createCell(2).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getStartTime()));
+ header2.createCell(3).setCellValue(com.doumee.core.utils.DateUtil.getPlusTime2(data.getEndTime()));
+ header2.createCell(4).setCellValue(data.getInsureNum());
+ header2.createCell(5).setCellValue(Constants.formatBigdecimal2Float(data.getFee()).toString());
+ //绌虹櫧琛�
+ Row header3 = sheet.createRow(3);
+ sheet.addMergedRegion(new CellRangeAddress(3 ,3,0,6));
+
+ Row header4 = sheet.createRow(4);
+ header4.createCell(0).setCellValue("搴忓彿");
+ header4.createCell(1).setCellValue("鍛樺伐濮撳悕");
+ header4.createCell(2).setCellValue("鎬у埆");
+ header4.createCell(3).setCellValue("韬唤璇佸彿");
+ header4.createCell(4).setCellValue("娲鹃仯鍗曚綅");
+ header4.createCell(5).setCellValue("鎵�灞炲伐绉�");
+ if(data.getApplyDetailList()!=null)
+ // 鍒涘缓鏁版嵁璁板綍
+ for (int rowIndex = 0; rowIndex < data.getApplyDetailList().size(); rowIndex++) {
+ ApplyDetail d = data.getApplyDetailList().get(rowIndex);
+ Row header5 = sheet.createRow(rowIndex + 4);
+ header5.createCell(0).setCellValue(rowIndex+1);
+ header5.createCell(1).setCellValue(StringUtils.defaultString(d.getMemberName(),""));
+ header5.createCell(2).setCellValue(Constants.equalsInteger(d.getSex(),0)?"鐢�":(Constants.equalsInteger(d.getSex(),1)?"濂�":"-"));
+ header5.createCell(3).setCellValue(StringUtils.defaultString(d.getIdcardNo(),""));
+ header5.createCell(4).setCellValue(StringUtils.defaultString(d.getDuName(),""));
+ header5.createCell(5).setCellValue(StringUtils.defaultString(d.getWorkTypeName(),""));
+ }
+ sxssfWorkbook.write(os);
+ os.close();
+ } catch (Exception e) {
+ throw new BusinessException(ResponseStatus.EXPORT_EXCEL_ERROR, e);
+ } finally {
+ if (os != null) {
+ try {
+ os.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+
@Data
@AllArgsConstructor
private static class ColumnInfo {
diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
index 871280a..3ccb57e 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -97,6 +97,15 @@
// d = d.setScale(2, BigDecimal.ROUND_HALF_UP);
return d;
}
+ public static BigDecimal formatBigdecimal2Float(BigDecimal d) {
+ if (d == null) {
+ d = new BigDecimal(0.0);
+ }
+ //淇濈暀涓や綅灏忔暟涓斿洓鑸嶄簲鍏�
+ d = d.setScale(2, BigDecimal.ROUND_HALF_UP);
+ return d;
+ }
+
public static BigDecimal formatBigdecimal4Float(BigDecimal d) {
if (d == null) {
d = new BigDecimal(0.0);
diff --git a/server/service/src/main/java/com/doumee/dao/business/MemberInsuranceMapper.java b/server/service/src/main/java/com/doumee/dao/business/MemberInsuranceMapper.java
new file mode 100644
index 0000000..35c6740
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/MemberInsuranceMapper.java
@@ -0,0 +1,12 @@
+package com.doumee.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.doumee.dao.business.model.MemberInsurance;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2024/01/22 11:55
+ */
+public interface MemberInsuranceMapper extends BaseMapper<MemberInsurance> {
+
+}
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java b/server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java
new file mode 100644
index 0000000..218436d
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/dao/business/model/MemberInsurance.java
@@ -0,0 +1,124 @@
+package com.doumee.dao.business.model;
+
+import com.doumee.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 鍛樺伐鎶曚繚鏄庣粏璁板綍
+ * @author 姹熻箘韫�
+ * @date 2024/01/22 11:55
+ */
+@Data
+@ApiModel("鍛樺伐鎶曚繚鏄庣粏璁板綍")
+@TableName("`member_insurance`")
+public class MemberInsurance {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @ExcelColumn(name="涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+ private Integer creator;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createDate;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+ private Integer editor;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @ExcelColumn(name="鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date editDate;
+
+ @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1")
+ @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�")
+ private Integer isdeleted;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "鎺掑簭鐮�", example = "1")
+ @ExcelColumn(name="鎺掑簭鐮�")
+ private Integer sortnum;
+
+ @ApiModelProperty(value = "鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply", example = "1")
+ @ExcelColumn(name="鎶曚繚鐢宠缂栫爜锛堝叧鑱攊nsurance_apply")
+ private Integer applyId;
+
+ @ApiModelProperty(value = "浜哄憳缂栫爜锛堝叧鑱攎emeber锛�", example = "1")
+ @ExcelColumn(name="浜哄憳缂栫爜锛堝叧鑱攎emeber锛�")
+ private Integer memberId;
+
+ @ApiModelProperty(value = "瀹為檯淇濋櫓鐢熸晥姝㈡湡")
+ @ExcelColumn(name="瀹為檯淇濋櫓鐢熸晥姝㈡湡")
+ private String endTime;
+
+ @ApiModelProperty(value = "瀹為檯淇濋櫓鐢熸晥璧锋湡")
+ @ExcelColumn(name="瀹為檯淇濋櫓鐢熸晥璧锋湡")
+ private String startTime;
+
+ @ApiModelProperty(value = "鏈�杩戞搷浣滄椂闂�")
+ @ExcelColumn(name="鏈�杩戞搷浣滄椂闂�")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date idcardNo;
+
+ @ApiModelProperty(value = "娲鹃仯鍗曚綅缂栫爜锛堝叧鑱攄ispatch_unit)", example = "1")
+ @ExcelColumn(name="娲鹃仯鍗曚綅缂栫爜锛堝叧鑱攄ispatch_unit)")
+ private Integer duId;
+
+ @ApiModelProperty(value = "宸ョ缂栫爜(鍏宠仈worktype)", example = "1")
+ @ExcelColumn(name="宸ョ缂栫爜(鍏宠仈worktype)")
+ private Integer worktypeId;
+
+ @ApiModelProperty(value = "褰撳墠浜х敓璐圭敤", example = "1")
+ @ExcelColumn(name="褰撳墠浜х敓璐圭敤")
+ private BigDecimal currentFee;
+
+ @ApiModelProperty(value = "璐圭敤", example = "1")
+ @ExcelColumn(name="璐圭敤")
+ private BigDecimal fee;
+
+ @ApiModelProperty(value = "鎬у埆 0鐢� 1濂�", example = "1")
+ @ExcelColumn(name="鎬у埆 0鐢� 1濂�")
+ private Integer sex;
+
+ @ApiModelProperty(value = "淇濆崟鍙�")
+ @ExcelColumn(name="淇濆崟鍙�")
+ private String bdCode;
+
+ @ApiModelProperty(value = "鎵瑰崟鍙�")
+ @ExcelColumn(name="鎵瑰崟鍙�")
+ private String pdCode;
+
+ @ApiModelProperty(value = "淇濋櫓鏂规鍚嶇О")
+ @ExcelColumn(name="淇濋櫓鏂规鍚嶇О")
+ private String solutionName;
+
+ @ApiModelProperty(value = "鎵瑰崟鐢宠缂栫爜", example = "1")
+ @ExcelColumn(name="鎵瑰崟鐢宠缂栫爜")
+ private Integer applyChangeId;
+
+ @ApiModelProperty(value = "宸ョ鍚嶇О")
+ @ExcelColumn(name="宸ョ鍚嶇О")
+ private String worktypeName;
+
+ @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
+ @ExcelColumn(name="娲鹃仯鍗曚綅鍚嶇О")
+ private String duName;
+
+}
diff --git a/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java b/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
index 37de20a..62cef76 100644
--- a/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
+++ b/server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
@@ -110,4 +110,6 @@
Integer dealBackApply(InsuranceApply insuranceApply);
Integer check(InsuranceApply insuranceApply);
+
+ InsuranceApply findDetailForExport(InsuranceApply model);
}
diff --git a/server/service/src/main/java/com/doumee/service/business/MemberInsuranceService.java b/server/service/src/main/java/com/doumee/service/business/MemberInsuranceService.java
new file mode 100644
index 0000000..281c687
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/service/business/MemberInsuranceService.java
@@ -0,0 +1,97 @@
+package com.doumee.service.business;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.model.MemberInsurance;
+import java.util.List;
+
+/**
+ * 鍛樺伐鎶曚繚鏄庣粏璁板綍Service瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2024/01/22 11:55
+ */
+public interface MemberInsuranceService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param memberInsurance 瀹炰綋瀵硅薄
+ * @return Integer
+ */
+ Integer create(MemberInsurance memberInsurance);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(Integer id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param memberInsurance 瀹炰綋瀵硅薄
+ */
+ void delete(MemberInsurance memberInsurance);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<Integer> ids);
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param memberInsurance 瀹炰綋瀵硅薄
+ */
+ void updateById(MemberInsurance memberInsurance);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param memberInsurances 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<MemberInsurance> memberInsurances);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return MemberInsurance
+ */
+ MemberInsurance findById(Integer id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param memberInsurance 瀹炰綋瀵硅薄
+ * @return MemberInsurance
+ */
+ MemberInsurance findOne(MemberInsurance memberInsurance);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param memberInsurance 瀹炰綋瀵硅薄
+ * @return List<MemberInsurance>
+ */
+ List<MemberInsurance> findList(MemberInsurance memberInsurance);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<MemberInsurance>
+ */
+ PageData<MemberInsurance> findPage(PageWrap<MemberInsurance> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param memberInsurance 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(MemberInsurance memberInsurance);
+}
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
index 599e639..a01003d 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -80,7 +80,7 @@
if(model == null ||!Constants.equalsInteger(model.getIsdeleted(),Constants.ZERO)){
throw new BusinessException(ResponseStatus.DATA_EMPTY);
}
- if(!Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD.getKey())){
+ if(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.UPLOAD_INSURANCE.getKey())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
}
LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
@@ -572,6 +572,32 @@
insuranceApply.setApplyLogList(applyLogList);
return insuranceApply;
}
+ @Override
+ public InsuranceApply findDetailForExport(InsuranceApply model){
+ MPJLambdaWrapper wrapper= new MPJLambdaWrapper<InsuranceApply>()
+ .selectAll(InsuranceApply.class)
+ .selectAs(Solutions::getName,InsuranceApply::getSolutionsName)
+ .selectAs(Company::getName,ApplyLog::getCompanyName)
+ .leftJoin(Solutions.class,Solutions::getId,InsuranceApply::getSolutionId)
+ .leftJoin(Company.class,Company::getId,InsuranceApply::getCompanyId)
+ .eq(InsuranceApply::getId,model.getId())
+ .last("limit 1");
+
+ InsuranceApply insuranceApply = insuranceApplyJoinMapper.selectJoinOne(InsuranceApply.class,wrapper);
+ if(Objects.isNull(insuranceApply)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY);
+ }
+ //鏌ヨ鏄庣粏
+ List<ApplyDetail> detailList =applyDetailMapper.selectList(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,insuranceApply.getId())
+ .eq(ApplyDetail::getIsdeleted,Constants.ZERO));
+
+ if(detailList!=null){
+ insuranceApply.setInsureNum(detailList.size());
+ insuranceApply.setApplyDetailList(detailList);
+ }
+ insuranceApply.setRemark(model.getRemark());
+ return insuranceApply;
+ }
@Override
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java
new file mode 100644
index 0000000..13e7166
--- /dev/null
+++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberInsuranceServiceImpl.java
@@ -0,0 +1,182 @@
+package com.doumee.service.business.impl;
+
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.MemberInsuranceMapper;
+import com.doumee.dao.business.model.MemberInsurance;
+import com.doumee.service.business.MemberInsuranceService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 鍛樺伐鎶曚繚鏄庣粏璁板綍Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2024/01/22 11:55
+ */
+@Service
+public class MemberInsuranceServiceImpl implements MemberInsuranceService {
+
+ @Autowired
+ private MemberInsuranceMapper memberInsuranceMapper;
+
+ @Override
+ public Integer create(MemberInsurance memberInsurance) {
+ memberInsuranceMapper.insert(memberInsurance);
+ return memberInsurance.getId();
+ }
+
+ @Override
+ public void deleteById(Integer id) {
+ memberInsuranceMapper.deleteById(id);
+ }
+
+ @Override
+ public void delete(MemberInsurance memberInsurance) {
+ UpdateWrapper<MemberInsurance> deleteWrapper = new UpdateWrapper<>(memberInsurance);
+ memberInsuranceMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<Integer> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ memberInsuranceMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(MemberInsurance memberInsurance) {
+ memberInsuranceMapper.updateById(memberInsurance);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<MemberInsurance> memberInsurances) {
+ if (CollectionUtils.isEmpty(memberInsurances)) {
+ return;
+ }
+ for (MemberInsurance memberInsurance: memberInsurances) {
+ this.updateById(memberInsurance);
+ }
+ }
+
+ @Override
+ public MemberInsurance findById(Integer id) {
+ return memberInsuranceMapper.selectById(id);
+ }
+
+ @Override
+ public MemberInsurance findOne(MemberInsurance memberInsurance) {
+ QueryWrapper<MemberInsurance> wrapper = new QueryWrapper<>(memberInsurance);
+ return memberInsuranceMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<MemberInsurance> findList(MemberInsurance memberInsurance) {
+ QueryWrapper<MemberInsurance> wrapper = new QueryWrapper<>(memberInsurance);
+ return memberInsuranceMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<MemberInsurance> findPage(PageWrap<MemberInsurance> pageWrap) {
+ IPage<MemberInsurance> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ QueryWrapper<MemberInsurance> queryWrapper = new QueryWrapper<>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ if (pageWrap.getModel().getId() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getId, pageWrap.getModel().getId());
+ }
+ if (pageWrap.getModel().getCreator() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getCreator, pageWrap.getModel().getCreator());
+ }
+ if (pageWrap.getModel().getCreateDate() != null) {
+ queryWrapper.lambda().ge(MemberInsurance::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+ queryWrapper.lambda().le(MemberInsurance::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+ }
+ if (pageWrap.getModel().getEditor() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getEditor, pageWrap.getModel().getEditor());
+ }
+ if (pageWrap.getModel().getEditDate() != null) {
+ queryWrapper.lambda().ge(MemberInsurance::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+ queryWrapper.lambda().le(MemberInsurance::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+ }
+ if (pageWrap.getModel().getIsdeleted() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getIsdeleted, pageWrap.getModel().getIsdeleted());
+ }
+ if (pageWrap.getModel().getRemark() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getRemark, pageWrap.getModel().getRemark());
+ }
+ if (pageWrap.getModel().getSortnum() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getSortnum, pageWrap.getModel().getSortnum());
+ }
+ if (pageWrap.getModel().getApplyId() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getApplyId, pageWrap.getModel().getApplyId());
+ }
+ if (pageWrap.getModel().getMemberId() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getMemberId, pageWrap.getModel().getMemberId());
+ }
+ if (pageWrap.getModel().getEndTime() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getEndTime, pageWrap.getModel().getEndTime());
+ }
+ if (pageWrap.getModel().getStartTime() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getStartTime, pageWrap.getModel().getStartTime());
+ }
+ if (pageWrap.getModel().getIdcardNo() != null) {
+ queryWrapper.lambda().ge(MemberInsurance::getIdcardNo, Utils.Date.getStart(pageWrap.getModel().getIdcardNo()));
+ queryWrapper.lambda().le(MemberInsurance::getIdcardNo, Utils.Date.getEnd(pageWrap.getModel().getIdcardNo()));
+ }
+ if (pageWrap.getModel().getDuId() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getDuId, pageWrap.getModel().getDuId());
+ }
+ if (pageWrap.getModel().getWorktypeId() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getWorktypeId, pageWrap.getModel().getWorktypeId());
+ }
+ if (pageWrap.getModel().getCurrentFee() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getCurrentFee, pageWrap.getModel().getCurrentFee());
+ }
+ if (pageWrap.getModel().getFee() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getFee, pageWrap.getModel().getFee());
+ }
+ if (pageWrap.getModel().getSex() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getSex, pageWrap.getModel().getSex());
+ }
+ if (pageWrap.getModel().getBdCode() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getBdCode, pageWrap.getModel().getBdCode());
+ }
+ if (pageWrap.getModel().getPdCode() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getPdCode, pageWrap.getModel().getPdCode());
+ }
+ if (pageWrap.getModel().getSolutionName() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getSolutionName, pageWrap.getModel().getSolutionName());
+ }
+ if (pageWrap.getModel().getApplyChangeId() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getApplyChangeId, pageWrap.getModel().getApplyChangeId());
+ }
+ if (pageWrap.getModel().getWorktypeName() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getWorktypeName, pageWrap.getModel().getWorktypeName());
+ }
+ if (pageWrap.getModel().getDuName() != null) {
+ queryWrapper.lambda().eq(MemberInsurance::getDuName, pageWrap.getModel().getDuName());
+ }
+ for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+ if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+ queryWrapper.orderByDesc(sortData.getProperty());
+ } else {
+ queryWrapper.orderByAsc(sortData.getProperty());
+ }
+ }
+ return PageData.from(memberInsuranceMapper.selectPage(page, queryWrapper));
+ }
+
+ @Override
+ public long count(MemberInsurance memberInsurance) {
+ QueryWrapper<MemberInsurance> wrapper = new QueryWrapper<>(memberInsurance);
+ return memberInsuranceMapper.selectCount(wrapper);
+ }
+}
--
Gitblit v1.9.3