k94314517
2024-07-30 d37bf55e27b7edb61037bccde6cabeda1ddec6b7
server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java
@@ -6,6 +6,8 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.dto.ApplyDetailPageDTO;
import com.doumee.dao.business.model.ApplyDetail;
import com.doumee.service.business.ApplyDetailService;
import io.swagger.annotations.Api;
@@ -15,12 +17,13 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
 * @author 江蹄蹄
 * @date 2024/01/15 15:07
 * @date 2024/01/16 10:03
 */
@Api(tags = "投保申请明细信息表")
@RestController
@@ -70,15 +73,42 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:applydetail:query")
    public ApiResponse<PageData<ApplyDetail>> findPage (@RequestBody PageWrap<ApplyDetail> pageWrap) {
        return ApiResponse.success(applyDetailService.findPage(pageWrap));
    public ApiResponse<PageData<ApplyDetail>> findPage (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap) {
        PageData<ApplyDetail> pageData = applyDetailService.findPageForCompany(pageWrap);
        pageData.getRecords().forEach(i->{
            if(i.getSolutionType().equals(Constants.ONE)&&!i.getStatus().equals(Constants.InsuranceApplyStatus.WTB_DONE.getKey())){
                i.setFee(null);
            }
        });
        return ApiResponse.success(pageData);
    }
    @ApiOperation("导出Excel")
    @ApiOperation("列表查询")
    @PostMapping("/findList")
    @RequiresPermissions("business:applydetail:query")
    public ApiResponse<List<ApplyDetail>> findList (@RequestBody ApplyDetailPageDTO applyDetailPageDTO) {
        return ApiResponse.success(applyDetailService.findListForCompany(applyDetailPageDTO));
    }
    @ApiOperation("查询全部")
    @PostMapping("/list")
    @RequiresPermissions("business:applydetail:query")
    public ApiResponse<List<ApplyDetail>> list (@RequestBody  ApplyDetail pageWrap) {
        return ApiResponse.success(applyDetailService.findList(pageWrap));
    }
    @ApiOperation("导出在保人员详单Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:applydetail:exportExcel")
    public void exportExcel (@RequestBody PageWrap<ApplyDetail> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(ApplyDetail.class).export(applyDetailService.findPage(pageWrap).getRecords(), "投保申请明细信息表", response);
    public void exportExcel (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap, HttpServletResponse response) {
        pageWrap.getModel().setIsExcel(Constants.ONE);
        PageData<ApplyDetail> pageData = applyDetailService.findPageForCompany(pageWrap);
        pageData.getRecords().forEach(i->{
            if(i.getSolutionType().equals(Constants.ONE)&&!i.getStatus().equals(Constants.InsuranceApplyStatus.WTB_DONE.getKey())){
                i.setFee(BigDecimal.ZERO);
            }
        });
        ExcelExporter.build(ApplyDetail.class).exportWithFirstAndEnd(pageData.getRecords(), pageWrap.getModel().getSolutionName()+".xlsx","在保人员名单",null, response);
    }
    @ApiOperation("根据ID查询")
@@ -87,4 +117,15 @@
    public ApiResponse findById(@PathVariable Integer id) {
        return ApiResponse.success(applyDetailService.findById(id));
    }
    @ApiOperation("查询员工投保记录")
    @GetMapping("/getMemberApplyList")
    public ApiResponse<List<ApplyDetail>> getMemberApplyList(@RequestParam Integer memberId) {
        return ApiResponse.success(applyDetailService.getMemberApplyList(memberId));
    }
}