111
k94314517
2024-01-19 3e651114469863063847b4fe7f05c538e84eed28
111
已添加9个文件
已修改25个文件
736 ■■■■ 文件已修改
server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/MemberController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/WorktypeController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/dto/DispatchUnitQueryDTO.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyOptDTO.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/dto/MemberQueryDTO.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/dto/WorkTypeQueryDTO.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/join/ApplyChangeDetailJoinMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/join/ApplyDetailJoinMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/join/ApplyLogJoinMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/join/MemberJoinMapper.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/ApplyChagneDetail.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/ApplyLog.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/CompanyPermission.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/dao/business/model/Member.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/ApplyChagneDetailService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/ApplyDetailService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/DispatchUnitService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/MemberService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/WorktypeService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/company/src/main/java/com/doumee/api/business/ApplyChagneDetailController.java
@@ -6,6 +6,7 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.dao.business.dto.ApplyDetailPageDTO;
import com.doumee.dao.business.model.ApplyChagneDetail;
import com.doumee.service.business.ApplyChagneDetailService;
import io.swagger.annotations.Api;
@@ -70,14 +71,14 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:applychagnedetail:query")
    public ApiResponse<PageData<ApplyChagneDetail>> findPage (@RequestBody PageWrap<ApplyChagneDetail> pageWrap) {
    public ApiResponse<PageData<ApplyChagneDetail>> findPage (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap) {
        return ApiResponse.success(applyChagneDetailService.findPage(pageWrap));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:applychagnedetail:exportExcel")
    public void exportExcel (@RequestBody PageWrap<ApplyChagneDetail> pageWrap, HttpServletResponse response) {
    public void exportExcel (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(ApplyChagneDetail.class).export(applyChagneDetailService.findPage(pageWrap).getRecords(), "加减保换厂申请明细信息表", response);
    }
server/company/src/main/java/com/doumee/api/business/ApplyDetailController.java
@@ -6,6 +6,7 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
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;
@@ -70,14 +71,14 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:applydetail:query")
    public ApiResponse<PageData<ApplyDetail>> findPage (@RequestBody PageWrap<ApplyDetail> pageWrap) {
    public ApiResponse<PageData<ApplyDetail>> findPage (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap) {
        return ApiResponse.success(applyDetailService.findPage(pageWrap));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:applydetail:exportExcel")
    public void exportExcel (@RequestBody PageWrap<ApplyDetail> pageWrap, HttpServletResponse response) {
    public void exportExcel (@RequestBody PageWrap<ApplyDetailPageDTO> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(ApplyDetail.class).export(applyDetailService.findPage(pageWrap).getRecords(), "投保申请明细信息表", response);
    }
server/company/src/main/java/com/doumee/api/business/DispatchUnitController.java
@@ -6,6 +6,7 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.dao.business.dto.DispatchUnitQueryDTO;
import com.doumee.dao.business.dto.SaveDispatchUnitDTO;
import com.doumee.dao.business.model.DispatchUnit;
import com.doumee.service.business.DispatchUnitService;
@@ -106,4 +107,13 @@
    public ApiResponse findById(@PathVariable Integer id) {
        return ApiResponse.success(dispatchUnitService.detailById(id));
    }
    @ApiOperation("数据列表")
    @PostMapping("/findListByDTO")
    @RequiresPermissions("business:dispatchunit:query")
    public ApiResponse<List<DispatchUnit>> findListByDTO (@RequestBody DispatchUnitQueryDTO dispatchUnitQueryDTO) {
        return ApiResponse.success(dispatchUnitService.findByDTO(dispatchUnitQueryDTO));
    }
}
server/company/src/main/java/com/doumee/api/business/InsuranceApplyController.java
@@ -6,6 +6,7 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
import com.doumee.dao.business.model.InsuranceApply;
import com.doumee.service.business.InsuranceApplyService;
@@ -86,6 +87,17 @@
    @GetMapping("/{id}")
    @RequiresPermissions("business:insuranceapply:query")
    public ApiResponse findById(@PathVariable Integer id) {
        return ApiResponse.success(insuranceApplyService.findById(id));
        return ApiResponse.success(insuranceApplyService.findDetail(id));
    }
    @ApiOperation("企业申请退回")
    @PostMapping("/applyReturn")
    public ApiResponse applyReturn (@RequestBody InsuranceApplyOptDTO insuranceApplyOptDTO) {
        insuranceApplyService.applyReturn(insuranceApplyOptDTO);
        return ApiResponse.success("操作成功");
    }
}
server/company/src/main/java/com/doumee/api/business/MemberController.java
@@ -4,13 +4,17 @@
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.LoginUserInfo;
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.dto.MemberQueryDTO;
import com.doumee.dao.business.model.Member;
import com.doumee.service.business.MemberService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.SecurityUtils;
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;
@@ -87,4 +91,16 @@
    public ApiResponse findById(@PathVariable Integer id) {
        return ApiResponse.success(memberService.findById(id));
    }
    @ApiOperation("数据列表")
    @PostMapping("/findListByDTO")
    @RequiresPermissions("business:member:query")
    public ApiResponse<List<Member>> findListByDTO (@RequestBody MemberQueryDTO memberQueryDTO) {
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(loginUserInfo.getType().equals(Constants.ONE)){
            memberQueryDTO.setCompanyId(loginUserInfo.getCompanyId());
        }
        return ApiResponse.success(memberService.findListByDTO(memberQueryDTO));
    }
}
server/company/src/main/java/com/doumee/api/business/WorktypeController.java
@@ -7,6 +7,7 @@
import com.doumee.core.model.PageWrap;
import com.doumee.core.model.PageData;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.dto.WorkTypeQueryDTO;
import com.doumee.dao.business.model.Worktype;
import com.doumee.service.business.WorktypeService;
import io.swagger.annotations.Api;
@@ -98,13 +99,10 @@
    }
    @ApiOperation("根据保险方案查询工种信息")
    @GetMapping("/getBySolutionsId")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "solutionId", value = "方案主键", required = true),
    })
    public ApiResponse<List<Worktype>> getBySolutionsId (@RequestParam Integer solutionId) {
        return ApiResponse.success(worktypeService.getBySolutionsId(solutionId));
    @ApiOperation("根据条件工种列表")
    @PostMapping("/findListByDTO")
    public ApiResponse<List<Worktype>> findListByDTO (@RequestBody WorkTypeQueryDTO workTypeQueryDTO) {
        return ApiResponse.success(worktypeService.findListByDTO(workTypeQueryDTO));
    }
server/service/src/main/java/com/doumee/dao/business/dto/ApplyDetailPageDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
package com.doumee.dao.business.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * æ´¾é£å•位信息表
 * @author æ±Ÿè¹„蹄
 * @date 2024/01/16 10:03
 */
@Data
public class ApplyDetailPageDTO {
    @ApiModelProperty(value = "在保状态:1=保障中;2=不在保; 0=全部")
    private Integer applyStatus;
    @ApiModelProperty(value = "派遣单位主键")
    private Integer duId;
    @ApiModelProperty(value = "工种主键")
    private Integer workTypeId;
    @ApiModelProperty(value = "员工姓名")
    private String memberName;
    @ApiModelProperty(value = "生效起期 yyyy-MM-dd å¼€å§‹")
    private String startTimeS;
    @ApiModelProperty(value = "生效起期 yyyy-MM-dd ç»“束")
    private String startTimeE;
    @ApiModelProperty(value = "生效止期 yyyy-MM-dd å¼€å§‹")
    private String endTimeS;
    @ApiModelProperty(value = "生效止期 yyyy-MM-dd ç»“束")
    private String endTimeE;
    @ApiModelProperty(value = "保单主键")
    private Integer applyId;
    @ApiModelProperty(value = "类型:0=加保;1=减保;2=换厂 ")
    private List<Integer> types;
}
server/service/src/main/java/com/doumee/dao/business/dto/DispatchUnitQueryDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
package com.doumee.dao.business.dto;
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.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.dao.business.model.DuLog;
import com.doumee.dao.business.model.DuSolution;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
 * æ´¾é£å•位信息表
 * @author æ±Ÿè¹„蹄
 * @date 2024/01/16 10:03
 */
@Data
public class DispatchUnitQueryDTO {
    @ApiModelProperty(value = "名称")
    private String name;
    @ApiModelProperty(value = "派遣单位信用代码")
    private String code;
    @ApiModelProperty(value = "派遣单位描述")
    private String content;
    @ApiModelProperty(value = "企业编码", example = "1")
    private Integer companyId;
    @ApiModelProperty(value = "记录类型 0基表数据 1历史版本数据", example = "1")
    private Integer dataType;
    @ApiModelProperty(value = "方案主键")
    private Integer solutionId;
    @ApiModelProperty(value = "保单主键")
    private Integer applyId;
}
server/service/src/main/java/com/doumee/dao/business/dto/InsuranceApplyOptDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.doumee.dao.business.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @author RenKang
 */
@Data
public class InsuranceApplyOptDTO {
    @ApiModelProperty(value = "保单主键", example = "1")
    private Integer applyId;
    @ApiModelProperty(value = "操作说明")
    private String optIllustration;
}
server/service/src/main/java/com/doumee/dao/business/dto/MemberQueryDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.doumee.dao.business.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class MemberQueryDTO {
    @ApiModelProperty(value = "员工名称")
    private String name;
    @ApiModelProperty(value = "需过滤数据集合")
    private List<Integer> memberIds;
    @ApiModelProperty(value = "过滤保单主键下数据")
    private Integer insuranceApplyId;
    @ApiModelProperty(value = "企业主键")
    private Integer companyId;
}
server/service/src/main/java/com/doumee/dao/business/dto/WorkTypeQueryDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
package com.doumee.dao.business.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * æ´¾é£å•位信息表
 * @author æ±Ÿè¹„蹄
 * @date 2024/01/16 10:03
 */
@Data
public class WorkTypeQueryDTO {
    @ApiModelProperty(value = "查询业务主键")
    private Integer id;
    @ApiModelProperty(value = "查询类型:0=保险方案主键;1=派遣单位主键")
    private Integer queryType;
}
server/service/src/main/java/com/doumee/dao/business/join/ApplyChangeDetailJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.doumee.dao.business.join;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.ApplyChagneDetail;
import com.github.yulichang.base.mapper.MPJJoinMapper;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2024/01/16 10:03
 */
public interface ApplyChangeDetailJoinMapper extends MPJJoinMapper<ApplyChagneDetail> {
}
server/service/src/main/java/com/doumee/dao/business/join/ApplyDetailJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.doumee.dao.business.join;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.ApplyDetail;
import com.github.yulichang.base.mapper.MPJJoinMapper;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2024/01/16 10:03
 */
public interface ApplyDetailJoinMapper extends MPJJoinMapper<ApplyDetail> {
}
server/service/src/main/java/com/doumee/dao/business/join/ApplyLogJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.doumee.dao.business.join;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.ApplyLog;
import com.github.yulichang.base.mapper.MPJJoinMapper;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2024/01/16 10:03
 */
public interface ApplyLogJoinMapper extends MPJJoinMapper<ApplyLog> {
}
server/service/src/main/java/com/doumee/dao/business/join/MemberJoinMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,13 @@
package com.doumee.dao.business.join;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.Member;
import com.github.yulichang.base.mapper.MPJJoinMapper;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2024/01/16 10:03
 */
public interface MemberJoinMapper extends MPJJoinMapper<Member> {
}
server/service/src/main/java/com/doumee/dao/business/model/ApplyChagneDetail.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -89,8 +90,20 @@
    @ExcelColumn(name="费用变动")
    private BigDecimal fee;
    @ApiModelProperty(value = "类型 0加 1减", example = "1")
    @ExcelColumn(name="类型 0加 1减")
    @ApiModelProperty(value = "类型 0加 1减 2换厂", example = "1")
    @ExcelColumn(name="类型 0加 1减 2换厂")
    private Integer type;
    @ApiModelProperty(value = "员工名称")
    @TableField(exist = false)
    private String memberName;
    @ApiModelProperty(value = "派遣单位名称")
    @TableField(exist = false)
    private String duName;
    @ApiModelProperty(value = "工种名称")
    @TableField(exist = false)
    private String workTypeName;
}
server/service/src/main/java/com/doumee/dao/business/model/ApplyDetail.java
@@ -100,4 +100,16 @@
    @ApiModelProperty(value = "员工名称")
    @TableField(exist = false)
    private String memberName;
    @ApiModelProperty(value = "派遣单位名称")
    @TableField(exist = false)
    private String duName;
    @ApiModelProperty(value = "工种名称")
    @TableField(exist = false)
    private String workTypeName;
}
server/service/src/main/java/com/doumee/dao/business/model/ApplyLog.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -83,4 +84,14 @@
    @ExcelColumn(name="状态 0待审核 1平台退回保单(已退回) 2已上传代签申请表待企业签章(待签署)  3已签章待上传保险单(待出单) 4保单出具失败退回(已退回) 5已上传保单(保障中)6企业申请退回中 7平台同意退回(已退回) 8企业关闭  ï¼ˆå·²å…³é—­ï¼‰")
    private Integer status;
    @ApiModelProperty(value = "创建人名称", example = "1")
    @TableField(exist = false)
    private String  creatorName;
    @ApiModelProperty(value = "公司名称", example = "1")
    @TableField(exist = false)
    private String  companyName;
}
server/service/src/main/java/com/doumee/dao/business/model/CompanyPermission.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -60,7 +61,7 @@
    @ExcelColumn(name="用户编码")
    private Integer userId;
    @ApiModelProperty(value = "企业编码集合", example = "1")
    @ExcelColumn(name="企业编码集合")
    @TableField(exist = false)
    private List<Integer> companyIdList;
}
server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java
@@ -119,6 +119,12 @@
    @ExcelColumn(name="基表编码(自关联)")
    private Integer baseId;
    @ApiModelProperty(value = "方案主键")
    @TableField(exist = false)
    private Integer solutionId;
    @ApiModelProperty(value = "派遣单位方案管关联信息表", example = "1")
    @TableField(exist = false)
    private List<DuSolution> duSolutionList;
server/service/src/main/java/com/doumee/dao/business/model/InsuranceApply.java
@@ -128,5 +128,11 @@
    @TableField(exist = false)
    private List<ApplyDetail> applyDetailList;
    @ApiModelProperty(value = "投保人数")
    @TableField(exist = false)
    private Integer insureNum;
    @ApiModelProperty(value = "日志记录")
    @TableField(exist = false)
    private List<ApplyLog> applyLogList;
}
server/service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -55,6 +56,10 @@
    @ExcelColumn(name="排序码")
    private Integer sortnum;
    @ApiModelProperty(value = "姓名")
    @ExcelColumn(name="姓名")
    private String name;
    @ApiModelProperty(value = "投保申请编码(关联insurance_apply", example = "1")
    @ExcelColumn(name="投保申请编码(关联insurance_apply")
    private Integer applyId;
@@ -87,4 +92,12 @@
    @ExcelColumn(name="性别 0男 1女")
    private Integer sex;
    @ApiModelProperty(value = "派遣单位名称")
    @TableField(exist = false)
    private String duName;
    @ApiModelProperty(value = "所属工种名称")
    @TableField(exist = false)
    private String workTypeName;
}
server/service/src/main/java/com/doumee/service/business/ApplyChagneDetailService.java
@@ -2,6 +2,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.dto.ApplyDetailPageDTO;
import com.doumee.dao.business.model.ApplyChagneDetail;
import java.util.List;
@@ -85,7 +86,7 @@
     * @param pageWrap åˆ†é¡µå¯¹è±¡
     * @return PageData<ApplyChagneDetail>
     */
    PageData<ApplyChagneDetail> findPage(PageWrap<ApplyChagneDetail> pageWrap);
    PageData<ApplyChagneDetail> findPage(PageWrap<ApplyDetailPageDTO> pageWrap);
    /**
     * æ¡ä»¶ç»Ÿè®¡
server/service/src/main/java/com/doumee/service/business/ApplyDetailService.java
@@ -2,6 +2,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.dto.ApplyDetailPageDTO;
import com.doumee.dao.business.model.ApplyDetail;
import java.util.List;
@@ -85,7 +86,7 @@
     * @param pageWrap åˆ†é¡µå¯¹è±¡
     * @return PageData<ApplyDetail>
     */
    PageData<ApplyDetail> findPage(PageWrap<ApplyDetail> pageWrap);
    PageData<ApplyDetail> findPage(PageWrap<ApplyDetailPageDTO> pageWrap);
    /**
     * æ¡ä»¶ç»Ÿè®¡
server/service/src/main/java/com/doumee/service/business/DispatchUnitService.java
@@ -3,6 +3,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.dto.DispatchUnitAuditDTO;
import com.doumee.dao.business.dto.DispatchUnitQueryDTO;
import com.doumee.dao.business.dto.SaveDispatchUnitDTO;
import com.doumee.dao.business.model.DispatchUnit;
import java.util.List;
@@ -122,4 +123,11 @@
     * @return
     */
    DispatchUnit detailById(Integer id);
    /**
     * æ ¹æ®æ¡ä»¶æŸ¥è¯¢æ´¾é£å•位信息
     * @param dispatchUnitQueryDTO
     * @return
     */
    List<DispatchUnit> findByDTO(DispatchUnitQueryDTO dispatchUnitQueryDTO);
}
server/service/src/main/java/com/doumee/service/business/InsuranceApplyService.java
@@ -2,6 +2,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
import com.doumee.dao.business.model.InsuranceApply;
import java.util.List;
@@ -95,4 +96,8 @@
     * @return long
     */
    long count(InsuranceApply insuranceApply);
    InsuranceApply findDetail(Integer id);
    void applyReturn(InsuranceApplyOptDTO insuranceApplyOptDTO);
}
server/service/src/main/java/com/doumee/service/business/MemberService.java
@@ -2,6 +2,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.dto.MemberQueryDTO;
import com.doumee.dao.business.model.Member;
import java.util.List;
@@ -94,4 +95,8 @@
     * @return long
     */
    long count(Member member);
    List<Member> findListByDTO(MemberQueryDTO memberQueryDTO);
}
server/service/src/main/java/com/doumee/service/business/WorktypeService.java
@@ -2,6 +2,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.dao.business.dto.WorkTypeQueryDTO;
import com.doumee.dao.business.model.Worktype;
import java.util.List;
@@ -82,10 +83,10 @@
    /**
     * æ ¹æ®ä¿é™©æ–¹æ¡ˆæŸ¥è¯¢å·¥ç§ä¿¡æ¯
     * @param solutionId
     * @param workTypeQueryDTO
     * @return
     */
    List<Worktype> getBySolutionsId(Integer solutionId);
    List<Worktype> findListByDTO(WorkTypeQueryDTO workTypeQueryDTO);
  
    /**
server/service/src/main/java/com/doumee/service/business/impl/ApplyChagneDetailServiceImpl.java
@@ -2,19 +2,27 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.ApplyChagneDetailMapper;
import com.doumee.dao.business.model.ApplyChagneDetail;
import com.doumee.dao.business.dto.ApplyDetailPageDTO;
import com.doumee.dao.business.join.ApplyChangeDetailJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.ApplyChagneDetailService;
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 com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * åŠ å‡ä¿æ¢åŽ‚ç”³è¯·æ˜Žç»†ä¿¡æ¯è¡¨Service实现
@@ -26,6 +34,9 @@
    @Autowired
    private ApplyChagneDetailMapper applyChagneDetailMapper;
    @Autowired
    private ApplyChangeDetailJoinMapper applyChangeDetailJoinMapper;
    @Override
    public Integer create(ApplyChagneDetail applyChagneDetail) {
@@ -85,64 +96,34 @@
    }
  
    @Override
    public PageData<ApplyChagneDetail> findPage(PageWrap<ApplyChagneDetail> pageWrap) {
    public PageData<ApplyChagneDetail> findPage(PageWrap<ApplyDetailPageDTO> pageWrap) {
        IPage<ApplyChagneDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<ApplyChagneDetail> queryWrapper = new QueryWrapper<>();
        MPJLambdaWrapper<ApplyChagneDetail> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(ApplyChagneDetail::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(ApplyChagneDetail::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(ApplyChagneDetail::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(ApplyChagneDetail::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getSortnum, pageWrap.getModel().getSortnum());
        }
        if (pageWrap.getModel().getApplyChangeId() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getApplyChangeId, pageWrap.getModel().getApplyChangeId());
        }
        if (pageWrap.getModel().getMemberId() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getMemberId, pageWrap.getModel().getMemberId());
        }
        if (pageWrap.getModel().getEndTime() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getEndTime, pageWrap.getModel().getEndTime());
        }
        if (pageWrap.getModel().getStartTime() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getStartTime, pageWrap.getModel().getStartTime());
        }
        if (pageWrap.getModel().getIdcardNo() != null) {
            queryWrapper.lambda().ge(ApplyChagneDetail::getIdcardNo, Utils.Date.getStart(pageWrap.getModel().getIdcardNo()));
            queryWrapper.lambda().le(ApplyChagneDetail::getIdcardNo, Utils.Date.getEnd(pageWrap.getModel().getIdcardNo()));
        }
        if (pageWrap.getModel().getDuId() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getDuId, pageWrap.getModel().getDuId());
        }
        if (pageWrap.getModel().getWorktypeId() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getWorktypeId, pageWrap.getModel().getWorktypeId());
        }
        if (pageWrap.getModel().getFee() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getFee, pageWrap.getModel().getFee());
        }
        if (pageWrap.getModel().getType() != null) {
            queryWrapper.lambda().eq(ApplyChagneDetail::getType, pageWrap.getModel().getType());
        }
        queryWrapper.selectAll(ApplyChagneDetail.class);
        queryWrapper.selectAs(DispatchUnit::getName,ApplyChagneDetail::getDuName);
        queryWrapper.selectAs(Worktype::getName,ApplyChagneDetail::getWorkTypeName);
        queryWrapper.selectAs(Member::getName,ApplyChagneDetail::getMemberName);
        ApplyDetailPageDTO applyDetailPageDTO = pageWrap.getModel();
        queryWrapper.exists(!Objects.isNull(applyDetailPageDTO.getApplyId()),
                " select 1 from apply_change ac where ac.isdeleted = 0 and ac.status in (1,2)  and ac.applyId = "+applyDetailPageDTO.getApplyId()+" and ac.id = t.apply_change_id  ");
        //在保
        queryWrapper.le(!Objects.isNull(applyDetailPageDTO.getApplyStatus())
                        &&applyDetailPageDTO.getApplyStatus().equals(Constants.ONE),
                ApplyChagneDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59");
        //不在保
        queryWrapper.ge(!Objects.isNull(applyDetailPageDTO.getApplyStatus())
                        &&applyDetailPageDTO.getApplyStatus().equals(Constants.TWO),
                ApplyChagneDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59");
        queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyChagneDetail::getDuId,applyDetailPageDTO.getDuId());
        queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorkTypeId()),ApplyChagneDetail::getWorktypeId,applyDetailPageDTO.getWorkTypeId());
        queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName());
        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyChagneDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00");
        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyChagneDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59");
        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyChagneDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00");
        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyChagneDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59");
        queryWrapper.in(CollectionUtils.isNotEmpty(applyDetailPageDTO.getTypes()),ApplyChagneDetail::getType,applyDetailPageDTO.getTypes());
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
@@ -150,7 +131,8 @@
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(applyChagneDetailMapper.selectPage(page, queryWrapper));
        PageData<ApplyChagneDetail> pageData = PageData.from(applyChangeDetailJoinMapper.selectJoinPage(page,ApplyChagneDetail.class, queryWrapper));
        return pageData;
    }
    @Override
server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
@@ -2,19 +2,27 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.ApplyDetailMapper;
import com.doumee.dao.business.model.ApplyDetail;
import com.doumee.dao.business.dto.ApplyDetailPageDTO;
import com.doumee.dao.business.join.ApplyDetailJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.service.business.ApplyDetailService;
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 com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * æŠ•保申请明细信息表Service实现
@@ -26,6 +34,9 @@
    @Autowired
    private ApplyDetailMapper applyDetailMapper;
    @Autowired
    private ApplyDetailJoinMapper applyDetailJoinMapper;
    @Override
    public Integer create(ApplyDetail applyDetail) {
@@ -85,60 +96,32 @@
    }
  
    @Override
    public PageData<ApplyDetail> findPage(PageWrap<ApplyDetail> pageWrap) {
    public PageData<ApplyDetail> findPage(PageWrap<ApplyDetailPageDTO> pageWrap) {
        IPage<ApplyDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<ApplyDetail> queryWrapper = new QueryWrapper<>();
        MPJLambdaWrapper<ApplyDetail> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(ApplyDetail::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(ApplyDetail::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(ApplyDetail::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(ApplyDetail::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getSortnum() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getSortnum, pageWrap.getModel().getSortnum());
        }
        if (pageWrap.getModel().getApplyId() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getApplyId, pageWrap.getModel().getApplyId());
        }
        if (pageWrap.getModel().getMemberId() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getMemberId, pageWrap.getModel().getMemberId());
        }
        if (pageWrap.getModel().getEndTime() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getEndTime, pageWrap.getModel().getEndTime());
        }
        if (pageWrap.getModel().getStartTime() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getStartTime, pageWrap.getModel().getStartTime());
        }
        if (pageWrap.getModel().getDuId() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getDuId, pageWrap.getModel().getDuId());
        }
        if (pageWrap.getModel().getWorktypeId() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getWorktypeId, pageWrap.getModel().getWorktypeId());
        }
        if (pageWrap.getModel().getFee() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getFee, pageWrap.getModel().getFee());
        }
        if (pageWrap.getModel().getSex() != null) {
            queryWrapper.lambda().eq(ApplyDetail::getSex, pageWrap.getModel().getSex());
        }
        queryWrapper.selectAll(ApplyDetail.class);
        queryWrapper.selectAs(DispatchUnit::getName,ApplyDetail::getDuName);
        queryWrapper.selectAs(Worktype::getName,ApplyDetail::getWorkTypeName);
        queryWrapper.selectAs(Member::getName,ApplyDetail::getMemberName);
        ApplyDetailPageDTO applyDetailPageDTO = pageWrap.getModel();
        queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getApplyId()),ApplyDetail::getApplyId,applyDetailPageDTO.getApplyId());
        //在保
        queryWrapper.le(!Objects.isNull(applyDetailPageDTO.getApplyStatus())
                &&applyDetailPageDTO.getApplyStatus().equals(Constants.ONE),
                ApplyDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59");
        //不在保
        queryWrapper.ge(!Objects.isNull(applyDetailPageDTO.getApplyStatus())
                        &&applyDetailPageDTO.getApplyStatus().equals(Constants.TWO),
                ApplyDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59");
        queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyDetail::getDuId,applyDetailPageDTO.getDuId());
        queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorkTypeId()),ApplyDetail::getWorktypeId,applyDetailPageDTO.getWorkTypeId());
        queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName());
        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00");
        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59");
        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00");
        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59");
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
                queryWrapper.orderByDesc(sortData.getProperty());
@@ -146,7 +129,8 @@
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(applyDetailMapper.selectPage(page, queryWrapper));
        PageData<ApplyDetail> pageData = PageData.from(applyDetailJoinMapper.selectJoinPage(page,ApplyDetail.class, queryWrapper));
        return pageData;
    }
    @Override
server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -11,10 +11,7 @@
import com.doumee.dao.business.DuLogMapper;
import com.doumee.dao.business.DuSolutionMapper;
import com.doumee.dao.business.DuWorktypeMapper;
import com.doumee.dao.business.dto.DispatchUnitAuditDTO;
import com.doumee.dao.business.dto.SaveDispatchUnitDTO;
import com.doumee.dao.business.dto.SaveDuSolutionDTO;
import com.doumee.dao.business.dto.SaveDuWorkTypeDTO;
import com.doumee.dao.business.dto.*;
import com.doumee.dao.business.join.DuLogJoinMapper;
import com.doumee.dao.business.join.DuSolutionJoinMapper;
import com.doumee.dao.business.join.DuWorkTypeJoinMapper;
@@ -449,6 +446,7 @@
    @Override
    public List<DispatchUnit> findList(DispatchUnit dispatchUnit) {
        dispatchUnit.setIsdeleted(Constants.ZERO);
        QueryWrapper<DispatchUnit> wrapper = new QueryWrapper<>(dispatchUnit);
        return dispatchUnitMapper.selectList(wrapper);
    }
@@ -570,6 +568,11 @@
        //查询操作记录
        List<DuLog> duLogList = duLogJoinMapper.selectJoinList(DuLog.class,
                new MPJLambdaWrapper<DuLog>()
                        .selectAll(DuLog.class)
                        .selectAs(Member::getName,DuLog::getCreatorName)
                        .selectAs(Company::getName,DuLog::getCompanyName)
                        .leftJoin(Member.class,Member::getId,DuLog::getCreator)
                        .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                        .eq(DuLog::getDuId,dispatchUnit.getId())
                        .orderByAsc(DuLog::getCreateDate)
        );
@@ -578,5 +581,26 @@
    }
    /**
     * æŸ¥è¯¢ä¼ä¸šä¸‹çš„æ´¾é£å•位
     * @return
     */
    @Override
    public List<DispatchUnit> findByDTO(DispatchUnitQueryDTO dispatchUnitQueryDTO) {
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        List<DispatchUnit> dispatchUnitList = dispatchUnitMapper.selectList(new QueryWrapper<DispatchUnit>().lambda()
                .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
                .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
                .eq(DispatchUnit::getStatus,Constants.ZERO)
                .eq(DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())
                .apply(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()), " id in ( select d.dispatch_unit_id from du_solution d where d.solutionId = "+dispatchUnitQueryDTO.getSolutionId()+"  ) " )
                .exists(!Objects.isNull(dispatchUnitQueryDTO.getApplyId()),
                        " select 1 from apply_detail ad where ad.isdeleted = 0 and ad.apply_id = "+dispatchUnitQueryDTO.getApplyId()+" " +
                                " ad.du_id = t.id ")
                .orderByAsc(DispatchUnit::getSortnum)
        );
        return dispatchUnitList;
    }
}
server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -9,7 +9,9 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.*;
import com.doumee.dao.business.dto.InsuranceApplyOptDTO;
import com.doumee.dao.business.dto.InsuranceApplyQueryDTO;
import com.doumee.dao.business.join.ApplyLogJoinMapper;
import com.doumee.dao.business.join.InsuranceApplyJoinMapper;
import com.doumee.dao.business.model.*;
import com.doumee.dao.system.model.SystemUser;
@@ -21,6 +23,8 @@
import com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import io.swagger.models.auth.In;
import jdk.internal.jline.internal.Log;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -49,6 +53,9 @@
    @Autowired
    private ApplyLogMapper applyLogMapper;
    @Autowired
    private ApplyLogJoinMapper applyLogJoinMapper;
    @Autowired
    private SolutionsMapper solutionsMapper;
@@ -148,9 +155,26 @@
            }
            applyDetailMapper.insert(applyDetail);
        }
        //存储日志数据
        this.saveApplyLog(insuranceApply,insuranceApplyStatus,null);
        return insuranceApply.getId();
    }
    public void saveApplyLog(InsuranceApply insuranceApply,Constants.InsuranceApplyStatus insuranceApplyStatus,String content){
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        ApplyLog applyLog = new ApplyLog();
        applyLog.setCreateDate(new Date());
        applyLog.setCreator(loginUserInfo.getId());
        applyLog.setIsdeleted(Constants.ZERO);
        applyLog.setApplyId(insuranceApply.getId());
        applyLog.setTitle(insuranceApplyStatus.getName());
        applyLog.setContent(content);
        applyLog.setObjType(insuranceApplyStatus.getKey());
        applyLog.setObjId(Integer.toString(insuranceApply.getId()));
        applyLog.setStatus(insuranceApply.getStatus());
        applyLogMapper.insert(applyLog);
    }
    public BigDecimal countDetailFee(Solutions solutions ,Date startDate,Date endDate){
@@ -277,4 +301,70 @@
        QueryWrapper<InsuranceApply> wrapper = new QueryWrapper<>(insuranceApply);
        return insuranceApplyMapper.selectCount(wrapper);
    }
    @Override
    public InsuranceApply findDetail(Integer id) {
        InsuranceApply insuranceApply = insuranceApplyMapper.selectById(id);
        if(Objects.isNull(insuranceApply)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        insuranceApply.setInsureNum(applyDetailMapper.selectCount(new QueryWrapper<ApplyDetail>().lambda().eq(ApplyDetail::getApplyId,insuranceApply.getId())
                .eq(ApplyDetail::getIsdeleted,Constants.ZERO)));
        //查询操作记录
        List<ApplyLog> applyLogList = applyLogJoinMapper.selectJoinList(ApplyLog.class,
                new MPJLambdaWrapper<ApplyLog>()
                        .selectAll(ApplyLog.class)
                        .selectAs(Member::getName,ApplyLog::getCreatorName)
                        .selectAs(Company::getName,ApplyLog::getCompanyName)
                        .leftJoin(Member.class,Member::getId,ApplyLog::getCreator)
                        .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                        .eq(ApplyLog::getApplyId,insuranceApply.getId())
                        .orderByAsc(ApplyLog::getCreateDate)
        );
        insuranceApply.setApplyLogList(applyLogList);
        return insuranceApply;
    }
    @Override
    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
    public void applyReturn(InsuranceApplyOptDTO insuranceApplyOptDTO){
        if(Objects.isNull(insuranceApplyOptDTO)
            ||Objects.isNull(insuranceApplyOptDTO.getApplyId())
            ||StringUtils.isBlank(insuranceApplyOptDTO.getOptIllustration())){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(loginUserInfo.getType().equals(Constants.ZERO)){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"非企业端用户无法进行该操作");
        }
        InsuranceApply insuranceApply = insuranceApplyMapper.selectById(insuranceApplyOptDTO.getApplyId());
        if(Objects.isNull(insuranceApply)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY);
        }
        if(insuranceApply.getIsdeleted().equals(Constants.ONE)){
            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"数据已删除,无法进行该操作");
        }
        if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.COMPANY_APPLY_RETURN.getKey())){
            throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"退回申请中,请勿重复操作");
        }
        if(!(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD.getKey())
            ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())
            ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.SIGNATURE.getKey()))){
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态非可申请退回!");
        }
        insuranceApply.setCheckDate(new Date());
        insuranceApply.setCheckInfo(insuranceApplyOptDTO.getOptIllustration());
        insuranceApply.setCheckUserId(loginUserInfo.getId());
        insuranceApplyMapper.updateById(insuranceApply);
        //存储日志数据
        this.saveApplyLog(insuranceApply,Constants.InsuranceApplyStatus.COMPANY_APPLY_RETURN,null);
    }
}
server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -2,19 +2,27 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.MemberMapper;
import com.doumee.dao.business.dto.MemberQueryDTO;
import com.doumee.dao.business.join.MemberJoinMapper;
import com.doumee.dao.business.model.DispatchUnit;
import com.doumee.dao.business.model.DuWorktype;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.business.model.Worktype;
import com.doumee.service.business.MemberService;
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 com.github.xiaoymin.knife4j.core.util.CollectionUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/**
 * ç”¨å·¥ä¿¡æ¯è¡¨Service实现
@@ -26,6 +34,9 @@
    @Autowired
    private MemberMapper memberMapper;
    @Autowired
    private MemberJoinMapper memberJoinMapper;
    @Override
    public Integer create(Member member) {
@@ -151,4 +162,25 @@
        QueryWrapper<Member> wrapper = new QueryWrapper<>(member);
        return memberMapper.selectCount(wrapper);
    }
    @Override
    public List<Member> findListByDTO(MemberQueryDTO memberQueryDTO) {
        List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
                .selectAll(Member.class)
                .selectAs(DispatchUnit::getName,Member::getDuName)
                .selectAs(Worktype::getName,Member::getWorkTypeName)
                .leftJoin(DispatchUnit.class,DispatchUnit::getId,Member::getDuId)
                .leftJoin(Worktype.class,Worktype::getId,Member::getWorktypeId)
                .notIn(CollectionUtils.isNotEmpty(memberQueryDTO.getMemberIds()),Member::getId,memberQueryDTO.getMemberIds())
                .eq(!Objects.isNull(memberQueryDTO.getCompanyId()),Member::getCompanyId,memberQueryDTO.getCompanyId())
                .eq(Member::getIsdeleted, Constants.ZERO)
                .notExists(!Objects.isNull(memberQueryDTO.getInsuranceApplyId()),
                        " select 1 from apply_detail ad where ad.applyId = "+memberQueryDTO.getInsuranceApplyId()+" and ad.END_TIME > now() and ad.isdeleted = 0 " +
                                " and ad.member_id = t.id ")
        );
        return memberList;
    }
}
server/service/src/main/java/com/doumee/service/business/impl/WorktypeServiceImpl.java
@@ -5,6 +5,7 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.WorktypeMapper;
import com.doumee.dao.business.dto.WorkTypeQueryDTO;
import com.doumee.dao.business.model.Worktype;
import com.doumee.service.business.WorktypeService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -16,6 +17,7 @@
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Objects;
/**
 * å·¥ç§ä¿¡æ¯è¡¨Service实现
@@ -87,10 +89,15 @@
    }
    @Override
    public List<Worktype> getBySolutionsId(Integer solutionId){
        QueryWrapper<Worktype> wrapper = new QueryWrapper<>();
        wrapper.apply(" id in ( select  sw.WORKTYPE_ID from solution_worktype sw where sw.SOLUTION_ID = "+solutionId+" ) ");
        return worktypeMapper.selectList(wrapper);
    public List<Worktype> findListByDTO(WorkTypeQueryDTO workTypeQueryDTO){
        List<Worktype> list = worktypeMapper.selectList(new QueryWrapper<Worktype>().lambda()
                .eq(Worktype::getIsdeleted,Constants.ZERO)
                .apply(workTypeQueryDTO.getQueryType().equals(Constants.ZERO),
                        "id in ( select  sw.worktype_id from solution_worktype sw where sw.SOLUTION_ID = "+workTypeQueryDTO.getId()+" )")
                .apply(workTypeQueryDTO.getQueryType().equals(Constants.ONE),
                        "id in ( select  dw.work_type_id from du_worktype dw where dw.du_solution_id = "+workTypeQueryDTO.getId()+" )")
        );
        return list;
    }
  
    @Override