Bläddra i källkod

财务模块项目成员模块

lichaoliu 4 år sedan
förälder
incheckning
4df622f4f4
21 ändrade filer med 1258 tillägg och 9 borttagningar
  1. 8 0
      src/main/java/com/migao/config/constant/FinancesStatus.java
  2. 77 0
      src/main/java/com/migao/controller/FinancesController.java
  3. 1 1
      src/main/java/com/migao/controller/MilestoneController.java
  4. 79 0
      src/main/java/com/migao/controller/ProjectMemberController.java
  5. 3 0
      src/main/java/com/migao/entity/po/ProjectMember.java
  6. 106 0
      src/main/java/com/migao/entity/vo/req/FinancesInsertReq.java
  7. 67 0
      src/main/java/com/migao/entity/vo/req/FinancesPageQueryReq.java
  8. 70 0
      src/main/java/com/migao/entity/vo/req/FinancesQueryReq.java
  9. 98 0
      src/main/java/com/migao/entity/vo/req/FinancesUpdateReq.java
  10. 50 0
      src/main/java/com/migao/entity/vo/req/ProjecmemberInsertReq.java
  11. 27 0
      src/main/java/com/migao/entity/vo/req/ProjecmemberPageQueryReq.java
  12. 38 0
      src/main/java/com/migao/entity/vo/req/ProjecmemberQueryReq.java
  13. 49 0
      src/main/java/com/migao/entity/vo/req/ProjecmemberUpdateReq.java
  14. 70 0
      src/main/java/com/migao/entity/vo/res/FinancesQueryRes.java
  15. 38 0
      src/main/java/com/migao/entity/vo/res/ProjecmemberQueryRes.java
  16. 9 0
      src/main/java/com/migao/mapper/FinancesRepository.java
  17. 9 0
      src/main/java/com/migao/mapper/ProjectMemberRepository.java
  18. 20 1
      src/main/java/com/migao/service/FinancesService.java
  19. 62 0
      src/main/java/com/migao/service/ProjecmemberService.java
  20. 151 7
      src/main/java/com/migao/service/impl/FinancesServiceImpl.java
  21. 226 0
      src/main/java/com/migao/service/impl/ProjecmemberServiceImpl.java

+ 8 - 0
src/main/java/com/migao/config/constant/FinancesStatus.java

@@ -8,6 +8,14 @@ public enum FinancesStatus {
     ;
     private String name;
 
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
     FinancesStatus(String name) {
         this.name = name;
     }

+ 77 - 0
src/main/java/com/migao/controller/FinancesController.java

@@ -0,0 +1,77 @@
+package com.migao.controller;
+
+
+import com.migao.config.response.PageBean;
+import com.migao.config.response.ResponseBean;
+import com.migao.config.validation.Insert;
+import com.migao.config.validation.Update;
+import com.migao.entity.vo.req.*;
+import com.migao.entity.vo.res.FinancesQueryRes;
+import com.migao.service.FinancesService;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
+import java.util.List;
+
+@Api(tags = "006.财务管理")
+@RestController
+@RequestMapping("/finances")
+public class FinancesController {
+
+    @Resource
+    private FinancesService financesService;
+
+    @ApiOperation("增")
+    @PostMapping(value = "/insert")
+    public ResponseBean<?> insert(
+            @Validated(value = {Insert.class}) @RequestBody FinancesInsertReq financesInsertReq
+    ) {
+        return financesService.insert(financesInsertReq);
+    }
+
+
+    @ApiOperation("删")
+    @PostMapping(value = "/deleteById")
+    public ResponseBean<?> deleteById(
+            @RequestParam Integer id
+    ) {
+        return financesService.deleteById(id);
+    }
+
+    @ApiOperation("根据id查询")
+    @PostMapping(value = "/findById")
+    public ResponseBean<?> findById(
+            @RequestParam Integer id
+    ) {
+        return financesService.findById(id);
+    }
+
+    @ApiOperation("删")
+    @PostMapping(value = "/deleteBatch")
+    public ResponseBean<?> deleteBatch(
+            @RequestBody List<Integer> ids
+    ) {
+        return financesService.deleteBatch(ids);
+    }
+
+
+    @ApiOperation("改")
+    @PostMapping(value = "/update")
+    public ResponseBean<?> update(
+            @Validated(value = {Update.class}) @RequestBody FinancesUpdateReq financesUpdateReq
+    ) {
+        return financesService.update(financesUpdateReq);
+    }
+
+
+    @ApiOperation("分页查")
+    @PostMapping(value = "/pageQuery")
+    public ResponseBean<PageBean<FinancesQueryRes>> pageQuery(
+            @RequestBody FinancesPageQueryReq financesPageQueryReq
+    ) {
+        return financesService.pageQuery(financesPageQueryReq);
+    }
+}

+ 1 - 1
src/main/java/com/migao/controller/MilestoneController.java

@@ -21,7 +21,7 @@ import java.util.List;
 
 @Api(tags = "004.里程碑")
 @RestController
-@RequestMapping("/permission")
+@RequestMapping("/milestone")
 public class MilestoneController {
 
     @Resource

+ 79 - 0
src/main/java/com/migao/controller/ProjectMemberController.java

@@ -0,0 +1,79 @@
+package com.migao.controller;
+
+
+import com.migao.config.response.PageBean;
+import com.migao.config.response.ResponseBean;
+import com.migao.config.validation.Insert;
+import com.migao.config.validation.Update;
+import com.migao.entity.vo.req.*;
+import com.migao.entity.vo.res.ProjecmemberQueryRes;
+import com.migao.service.ProjecmemberService;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import javax.annotation.Resource;
+import java.util.List;
+
+@Api(tags = "006.项目成员")
+@RestController
+@RequestMapping("/projectMember")
+public class ProjectMemberController {
+
+    @Resource
+    private ProjecmemberService projecmemberService;
+
+    @ApiOperation("增")
+    @PostMapping(value = "/insert")
+    public ResponseBean<?> insert(
+            @Validated(value = {Insert.class}) @RequestBody ProjecmemberInsertReq projecmemberInsertReq
+    ) {
+        return projecmemberService.insert(projecmemberInsertReq);
+    }
+
+
+    @ApiOperation("删")
+    @PostMapping(value = "/deleteById")
+    public ResponseBean<?> deleteById(
+            @RequestParam Integer id
+    ) {
+        return projecmemberService.deleteById(id);
+    }
+
+
+    @ApiOperation("删")
+    @PostMapping(value = "/deleteBatch")
+    public ResponseBean<?> deleteBatch(
+            @RequestBody List<Integer> ids
+    ) {
+        return projecmemberService.deleteBatch(ids);
+    }
+
+
+    @ApiOperation("改")
+    @PostMapping(value = "/update")
+    public ResponseBean<?> update(
+            @Validated(value = {Update.class}) @RequestBody ProjecmemberUpdateReq projecmemberUpdateReq
+    ) {
+        return projecmemberService.update(projecmemberUpdateReq);
+    }
+
+
+    @ApiOperation("分页查")
+    @PostMapping(value = "/pageQuery")
+    public ResponseBean<PageBean<ProjecmemberQueryRes>> pageQuery(
+            @RequestBody ProjecmemberPageQueryReq projecmemberPageQueryReq
+    ) {
+        return projecmemberService.pageQuery(projecmemberPageQueryReq);
+    }
+
+    @ApiOperation("查")
+    @PostMapping(value = "/query")
+    public ResponseBean<List<ProjecmemberQueryRes>> query(
+            @RequestBody ProjecmemberQueryReq projecmemberQueryReq
+    ) {
+        return projecmemberService.query(projecmemberQueryReq);
+    }
+
+}

+ 3 - 0
src/main/java/com/migao/entity/po/ProjectMember.java

@@ -33,6 +33,9 @@ public class ProjectMember implements Serializable {
     @Column(name = "name", columnDefinition = "varchar(255) comment '项目名称'")
     private String name;
 
+    @Column(name = "username", columnDefinition = "varchar(255) comment '用户名称'")
+    private String username;
+
     @Column(name = "department_name", columnDefinition = "varchar(255) comment '部门'")
     private String departmentName;
 

+ 106 - 0
src/main/java/com/migao/entity/vo/req/FinancesInsertReq.java

@@ -0,0 +1,106 @@
+package com.migao.entity.vo.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotEmpty;
+import java.time.LocalDateTime;
+import javax.validation.constraints.NotNull;
+
+
+/**
+ * @version 1.0
+ * @Author mwh
+ * @Date 2020/4/10 14:20
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class FinancesInsertReq {
+
+    @ApiModelProperty(value = "上级代付(大额支付)")
+    @NotEmpty(message = "上级代付(大额支付)不能为空")
+    private String another;
+
+    @ApiModelProperty(value = "收款单位银行账号-银行存款")
+    @NotEmpty(message = "收款单位银行账号-银行存款不能为空")
+    private String bankAccount;
+
+    @ApiModelProperty(value = "收款单位银行账号-电子汇票(大额支付必填)")
+    @NotEmpty(message = "收款单位银行账号-电子汇票(大额支付必填)不能为空")
+    private String bankAccountDrafts;
+
+    @ApiModelProperty(value = "收款单位开户行-银行存款")
+    @NotEmpty(message = "收款单位开户行-银行存款不能为空")
+    private String bankAddress;
+
+    @ApiModelProperty(value = "收款单位开户行-电子汇票(大额支付必填)")
+    @NotEmpty(message = "收款单位开户行-电子汇票(大额支付必填)不能为空")
+    private String bankAddressDrafts;
+
+    @ApiModelProperty(value = "收款单位开户联行号-银行存款")
+    @NotEmpty(message = "收款单位开户联行号-银行存款不能为空")
+    private String bankNumber;
+
+    @ApiModelProperty(value = "收款单位开户联行号-电子汇票(大额支付必填)")
+    @NotEmpty(message = "收款单位开户联行号-电子汇票(大额支付必填)不能为空")
+    private String bankNumberDrafts;
+
+    @ApiModelProperty(value = "收款单位名称")
+    @NotEmpty(message = "收款单位名称不能为空")
+    private String companyNme;
+
+    @ApiModelProperty(value = "合同金额(元)")
+    @NotEmpty(message = "合同金额(元)不能为空")
+    private String contractMoney;
+
+    @ApiModelProperty(value = "财务报表")
+    @NotEmpty(message = "财务报表不能为空")
+    private String financial;
+
+    @ApiModelProperty(value = "预算项目名称")
+    @NotEmpty(message = "预算项目名称不能为空")
+    private String name;
+
+    @ApiModelProperty(value = "收款单位供应商编码")
+    @NotEmpty(message = "收款单位供应商编码不能为空")
+    private String no;
+
+    @ApiModelProperty(value = "采购组织(S201:工程服务,S202:维修服务)")
+    @NotEmpty(message = "采购组织(S201:工程服务,S202:维修服务)不能为空")
+    private String organization;
+
+    @ApiModelProperty(value = "付款金额(元)")
+    @NotEmpty(message = "付款金额(元)不能为空")
+    private String payMoney;
+
+    @ApiModelProperty(value = "付款订单编号")
+    @NotEmpty(message = "付款订单编号不能为空")
+    private String payNo;
+
+    @ApiModelProperty(value = "项目编码")
+    @NotNull(message = "项目编码不能为空")
+    private Integer projectId;
+
+    @ApiModelProperty(value = "erp采购订单号")
+    @NotEmpty(message = "erp采购订单号不能为空")
+    private String purchaseNo;
+
+    @ApiModelProperty(value = "预计付款时间")
+    @NotNull(message = "预计付款时间不能为空")
+    private LocalDateTime remitTime;
+
+    @ApiModelProperty(value = "状态")
+    @NotEmpty(message = "状态不能为空")
+    private String status;
+
+    @ApiModelProperty(value = "填报专责")
+    @NotEmpty(message = "填报专责不能为空")
+    private String username;
+
+}

+ 67 - 0
src/main/java/com/migao/entity/vo/req/FinancesPageQueryReq.java

@@ -0,0 +1,67 @@
+package com.migao.entity.vo.req;
+
+import com.migao.config.response.BasePageRequest;
+import lombok.*;
+import io.swagger.annotations.ApiModelProperty;
+import java.time.LocalDateTime;
+
+/**
+ * @version 1.0
+ * @Author mwh
+ * @Date 2020/4/10 14:20
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+public class FinancesPageQueryReq extends BasePageRequest {
+
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+    @ApiModelProperty(value = "上级代付(大额支付)")
+    private String another;
+    @ApiModelProperty(value = "收款单位银行账号-银行存款")
+    private String bankAccount;
+    @ApiModelProperty(value = "收款单位银行账号-电子汇票(大额支付必填)")
+    private String bankAccountDrafts;
+    @ApiModelProperty(value = "收款单位开户行-银行存款")
+    private String bankAddress;
+    @ApiModelProperty(value = "收款单位开户行-电子汇票(大额支付必填)")
+    private String bankAddressDrafts;
+    @ApiModelProperty(value = "收款单位开户联行号-银行存款")
+    private String bankNumber;
+    @ApiModelProperty(value = "收款单位开户联行号-电子汇票(大额支付必填)")
+    private String bankNumberDrafts;
+    @ApiModelProperty(value = "收款单位名称")
+    private String companyNme;
+    @ApiModelProperty(value = "合同金额(元)")
+    private String contractMoney;
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+    @ApiModelProperty(value = "")
+    private Integer createUserId;
+    @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
+    private Integer deleted;
+    @ApiModelProperty(value = "财务报表")
+    private String financial;
+    @ApiModelProperty(value = "预算项目名称")
+    private String name;
+    @ApiModelProperty(value = "收款单位供应商编码")
+    private String no;
+    @ApiModelProperty(value = "采购组织(S201:工程服务,S202:维修服务)")
+    private String organization;
+    @ApiModelProperty(value = "付款金额(元)")
+    private String payMoney;
+    @ApiModelProperty(value = "付款订单编号")
+    private String payNo;
+    @ApiModelProperty(value = "项目编码")
+    private Integer projectId;
+    @ApiModelProperty(value = "erp采购订单号")
+    private String purchaseNo;
+    @ApiModelProperty(value = "预计付款时间")
+    private LocalDateTime remitTime;
+    @ApiModelProperty(value = "状态")
+    private String status;
+    @ApiModelProperty(value = "填报专责")
+    private String username;
+
+}

+ 70 - 0
src/main/java/com/migao/entity/vo/req/FinancesQueryReq.java

@@ -0,0 +1,70 @@
+package com.migao.entity.vo.req;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import io.swagger.annotations.ApiModelProperty;
+import java.time.LocalDateTime;
+
+/**
+ * @version 1.0
+ * @Author mwh
+ * @Date 2020/4/10 14:20
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class FinancesQueryReq {
+
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+    @ApiModelProperty(value = "上级代付(大额支付)")
+    private String another;
+    @ApiModelProperty(value = "收款单位银行账号-银行存款")
+    private String bankAccount;
+    @ApiModelProperty(value = "收款单位银行账号-电子汇票(大额支付必填)")
+    private String bankAccountDrafts;
+    @ApiModelProperty(value = "收款单位开户行-银行存款")
+    private String bankAddress;
+    @ApiModelProperty(value = "收款单位开户行-电子汇票(大额支付必填)")
+    private String bankAddressDrafts;
+    @ApiModelProperty(value = "收款单位开户联行号-银行存款")
+    private String bankNumber;
+    @ApiModelProperty(value = "收款单位开户联行号-电子汇票(大额支付必填)")
+    private String bankNumberDrafts;
+    @ApiModelProperty(value = "收款单位名称")
+    private String companyNme;
+    @ApiModelProperty(value = "合同金额(元)")
+    private String contractMoney;
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+    @ApiModelProperty(value = "")
+    private Integer createUserId;
+    @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
+    private Integer deleted;
+    @ApiModelProperty(value = "财务报表")
+    private String financial;
+    @ApiModelProperty(value = "预算项目名称")
+    private String name;
+    @ApiModelProperty(value = "收款单位供应商编码")
+    private String no;
+    @ApiModelProperty(value = "采购组织(S201:工程服务,S202:维修服务)")
+    private String organization;
+    @ApiModelProperty(value = "付款金额(元)")
+    private String payMoney;
+    @ApiModelProperty(value = "付款订单编号")
+    private String payNo;
+    @ApiModelProperty(value = "项目编码")
+    private Integer projectId;
+    @ApiModelProperty(value = "erp采购订单号")
+    private String purchaseNo;
+    @ApiModelProperty(value = "预计付款时间")
+    private LocalDateTime remitTime;
+    @ApiModelProperty(value = "状态")
+    private String status;
+    @ApiModelProperty(value = "填报专责")
+    private String username;
+
+}

+ 98 - 0
src/main/java/com/migao/entity/vo/req/FinancesUpdateReq.java

@@ -0,0 +1,98 @@
+package com.migao.entity.vo.req;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @version 1.0
+ * @Author mwh
+ * @Date 2020/4/10 14:20
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class FinancesUpdateReq {
+
+    @ApiModelProperty(value = "主键")
+    @NotNull(message = "主键不能为空")
+    private Integer id;
+    @ApiModelProperty(value = "上级代付(大额支付)")
+    @NotEmpty(message = "上级代付(大额支付)不能为空")
+    private String another;
+    @ApiModelProperty(value = "收款单位银行账号-银行存款")
+    @NotEmpty(message = "收款单位银行账号-银行存款不能为空")
+    private String bankAccount;
+    @ApiModelProperty(value = "收款单位银行账号-电子汇票(大额支付必填)")
+    @NotEmpty(message = "收款单位银行账号-电子汇票(大额支付必填)不能为空")
+    private String bankAccountDrafts;
+    @ApiModelProperty(value = "收款单位开户行-银行存款")
+    @NotEmpty(message = "收款单位开户行-银行存款不能为空")
+    private String bankAddress;
+    @ApiModelProperty(value = "收款单位开户行-电子汇票(大额支付必填)")
+    @NotEmpty(message = "收款单位开户行-电子汇票(大额支付必填)不能为空")
+    private String bankAddressDrafts;
+    @ApiModelProperty(value = "收款单位开户联行号-银行存款")
+    @NotEmpty(message = "收款单位开户联行号-银行存款不能为空")
+    private String bankNumber;
+    @ApiModelProperty(value = "收款单位开户联行号-电子汇票(大额支付必填)")
+    @NotEmpty(message = "收款单位开户联行号-电子汇票(大额支付必填)不能为空")
+    private String bankNumberDrafts;
+    @ApiModelProperty(value = "收款单位名称")
+    @NotEmpty(message = "收款单位名称不能为空")
+    private String companyNme;
+    @ApiModelProperty(value = "合同金额(元)")
+    @NotEmpty(message = "合同金额(元)不能为空")
+    private String contractMoney;
+    @ApiModelProperty(value = "创建时间")
+    @NotNull(message = "创建时间不能为空")
+    private LocalDateTime createTime;
+    @ApiModelProperty(value = "")
+    @NotNull(message = "不能为空")
+    private Integer createUserId;
+    @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
+    @NotNull(message = "逻辑删除 0未删除 1已删除不能为空")
+    private Integer deleted;
+    @ApiModelProperty(value = "财务报表")
+    @NotEmpty(message = "财务报表不能为空")
+    private String financial;
+    @ApiModelProperty(value = "预算项目名称")
+    @NotEmpty(message = "预算项目名称不能为空")
+    private String name;
+    @ApiModelProperty(value = "收款单位供应商编码")
+    @NotEmpty(message = "收款单位供应商编码不能为空")
+    private String no;
+    @ApiModelProperty(value = "采购组织(S201:工程服务,S202:维修服务)")
+    @NotEmpty(message = "采购组织(S201:工程服务,S202:维修服务)不能为空")
+    private String organization;
+    @ApiModelProperty(value = "付款金额(元)")
+    @NotEmpty(message = "付款金额(元)不能为空")
+    private String payMoney;
+    @ApiModelProperty(value = "付款订单编号")
+    @NotEmpty(message = "付款订单编号不能为空")
+    private String payNo;
+    @ApiModelProperty(value = "项目编码")
+    @NotNull(message = "项目编码不能为空")
+    private Integer projectId;
+    @ApiModelProperty(value = "erp采购订单号")
+    @NotEmpty(message = "erp采购订单号不能为空")
+    private String purchaseNo;
+    @ApiModelProperty(value = "预计付款时间")
+    @NotNull(message = "预计付款时间不能为空")
+    private LocalDateTime remitTime;
+    @ApiModelProperty(value = "状态")
+    @NotEmpty(message = "状态不能为空")
+    private String status;
+    @ApiModelProperty(value = "填报专责")
+    @NotEmpty(message = "填报专责不能为空")
+    private String username;
+
+}

+ 50 - 0
src/main/java/com/migao/entity/vo/req/ProjecmemberInsertReq.java

@@ -0,0 +1,50 @@
+package com.migao.entity.vo.req;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import javax.validation.constraints.NotEmpty;
+import java.time.LocalDateTime;
+import javax.validation.constraints.NotNull;
+
+
+/**
+ * @version 1.0
+ * @Author lcl
+ * @Date 2020/10/20 17:00
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class ProjecmemberInsertReq {
+
+        @ApiModelProperty(value = "主键")
+            //@NotNull(message = "主键不能为空")
+        private Integer id;
+        @ApiModelProperty(value = "储备年份")
+            //@NotNull(message = "储备年份不能为空")
+        private LocalDateTime createTime;
+        @ApiModelProperty(value = "")
+            //@NotNull(message = "不能为空")
+        private Integer createUserId;
+        @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
+            //@NotNull(message = "逻辑删除 0未删除 1已删除不能为空")
+        private Integer deleted;
+        @ApiModelProperty(value = "部门")
+            //@NotEmpty(message = "部门不能为空")
+        private String departmentName;
+        @ApiModelProperty(value = "是否签署保密协议")
+            //@NotEmpty(message = "是否签署保密协议不能为空")
+        private String isSigned;
+        @ApiModelProperty(value = "项目名称")
+            //@NotEmpty(message = "项目名称不能为空")
+        private String name;
+        @ApiModelProperty(value = "项目编码")
+            //@NotNull(message = "项目编码不能为空")
+        private Integer projectId;
+
+}

+ 27 - 0
src/main/java/com/migao/entity/vo/req/ProjecmemberPageQueryReq.java

@@ -0,0 +1,27 @@
+package com.migao.entity.vo.req;
+
+import com.migao.config.response.BasePageRequest;
+import lombok.*;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.time.LocalDateTime;
+
+/**
+ * @version 1.0
+ * @Author mwh
+ * @Date 2020/4/10 14:20
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Data
+public class ProjecmemberPageQueryReq extends BasePageRequest {
+
+
+    @ApiModelProperty(value = "用户名称")
+    private String username;
+
+    @ApiModelProperty(value = "项目名称")
+    private String name;
+
+
+}

+ 38 - 0
src/main/java/com/migao/entity/vo/req/ProjecmemberQueryReq.java

@@ -0,0 +1,38 @@
+package com.migao.entity.vo.req;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import io.swagger.annotations.ApiModelProperty;
+import java.time.LocalDateTime;
+
+/**
+ * @version 1.0
+ * @Author mwh
+ * @Date 2020/4/10 14:20
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class ProjecmemberQueryReq {
+
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+    @ApiModelProperty(value = "储备年份")
+    private LocalDateTime createTime;
+    @ApiModelProperty(value = "")
+    private Integer createUserId;
+    @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
+    private Integer deleted;
+    @ApiModelProperty(value = "部门")
+    private String departmentName;
+    @ApiModelProperty(value = "是否签署保密协议")
+    private String isSigned;
+    @ApiModelProperty(value = "项目名称")
+    private String name;
+    @ApiModelProperty(value = "项目编码")
+    private Integer projectId;
+
+}

+ 49 - 0
src/main/java/com/migao/entity/vo/req/ProjecmemberUpdateReq.java

@@ -0,0 +1,49 @@
+package com.migao.entity.vo.req;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @version 1.0
+ * @Author mwh
+ * @Date 2020/4/10 14:20
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class ProjecmemberUpdateReq {
+
+    @ApiModelProperty(value = "主键")
+        @NotNull(message = "主键不能为空")
+    private Integer id;
+    @ApiModelProperty(value = "储备年份")
+        @NotNull(message = "储备年份不能为空")
+    private LocalDateTime createTime;
+    @ApiModelProperty(value = "")
+        @NotNull(message = "不能为空")
+    private Integer createUserId;
+    @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
+        @NotNull(message = "逻辑删除 0未删除 1已删除不能为空")
+    private Integer deleted;
+    @ApiModelProperty(value = "部门")
+        @NotEmpty(message = "部门不能为空")
+    private String departmentName;
+    @ApiModelProperty(value = "是否签署保密协议")
+        @NotEmpty(message = "是否签署保密协议不能为空")
+    private String isSigned;
+    @ApiModelProperty(value = "项目名称")
+        @NotEmpty(message = "项目名称不能为空")
+    private String name;
+    @ApiModelProperty(value = "项目编码")
+        @NotNull(message = "项目编码不能为空")
+    private Integer projectId;
+
+}

+ 70 - 0
src/main/java/com/migao/entity/vo/res/FinancesQueryRes.java

@@ -0,0 +1,70 @@
+package com.migao.entity.vo.res;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import io.swagger.annotations.ApiModelProperty;
+import java.time.LocalDateTime;
+
+/**
+ * @version 1.0
+ * @Author mwh
+ * @Date 2020/4/10 14:20
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class FinancesQueryRes {
+
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+    @ApiModelProperty(value = "上级代付(大额支付)")
+    private String another;
+    @ApiModelProperty(value = "收款单位银行账号-银行存款")
+    private String bankAccount;
+    @ApiModelProperty(value = "收款单位银行账号-电子汇票(大额支付必填)")
+    private String bankAccountDrafts;
+    @ApiModelProperty(value = "收款单位开户行-银行存款")
+    private String bankAddress;
+    @ApiModelProperty(value = "收款单位开户行-电子汇票(大额支付必填)")
+    private String bankAddressDrafts;
+    @ApiModelProperty(value = "收款单位开户联行号-银行存款")
+    private String bankNumber;
+    @ApiModelProperty(value = "收款单位开户联行号-电子汇票(大额支付必填)")
+    private String bankNumberDrafts;
+    @ApiModelProperty(value = "收款单位名称")
+    private String companyNme;
+    @ApiModelProperty(value = "合同金额(元)")
+    private String contractMoney;
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+    @ApiModelProperty(value = "")
+    private Integer createUserId;
+    @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
+    private Integer deleted;
+    @ApiModelProperty(value = "财务报表")
+    private String financial;
+    @ApiModelProperty(value = "预算项目名称")
+    private String name;
+    @ApiModelProperty(value = "收款单位供应商编码")
+    private String no;
+    @ApiModelProperty(value = "采购组织(S201:工程服务,S202:维修服务)")
+    private String organization;
+    @ApiModelProperty(value = "付款金额(元)")
+    private String payMoney;
+    @ApiModelProperty(value = "付款订单编号")
+    private String payNo;
+    @ApiModelProperty(value = "项目编码")
+    private Integer projectId;
+    @ApiModelProperty(value = "erp采购订单号")
+    private String purchaseNo;
+    @ApiModelProperty(value = "预计付款时间")
+    private LocalDateTime remitTime;
+    @ApiModelProperty(value = "状态")
+    private String status;
+    @ApiModelProperty(value = "填报专责")
+    private String username;
+
+}

+ 38 - 0
src/main/java/com/migao/entity/vo/res/ProjecmemberQueryRes.java

@@ -0,0 +1,38 @@
+package com.migao.entity.vo.res;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import io.swagger.annotations.ApiModelProperty;
+import java.time.LocalDateTime;
+
+/**
+ * @version 1.0
+ * @Author mwh
+ * @Date 2020/4/10 14:20
+ */
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+@Data
+public class ProjecmemberQueryRes {
+
+    @ApiModelProperty(value = "主键")
+    private Integer id;
+    @ApiModelProperty(value = "储备年份")
+    private LocalDateTime createTime;
+    @ApiModelProperty(value = "")
+    private Integer createUserId;
+    @ApiModelProperty(value = "逻辑删除 0未删除 1已删除")
+    private Integer deleted;
+    @ApiModelProperty(value = "部门")
+    private String departmentName;
+    @ApiModelProperty(value = "是否签署保密协议")
+    private String isSigned;
+    @ApiModelProperty(value = "项目名称")
+    private String name;
+    @ApiModelProperty(value = "项目编码")
+    private Integer projectId;
+
+}

+ 9 - 0
src/main/java/com/migao/mapper/FinancesRepository.java

@@ -0,0 +1,9 @@
+package com.migao.mapper;
+
+import com.migao.entity.po.Finances;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface FinancesRepository extends JpaRepository<Finances, Integer>, JpaSpecificationExecutor<Finances> {
+
+}

+ 9 - 0
src/main/java/com/migao/mapper/ProjectMemberRepository.java

@@ -0,0 +1,9 @@
+package com.migao.mapper;
+
+import com.migao.entity.po.ProjectMember;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface ProjectMemberRepository extends JpaRepository<ProjectMember, Integer>, JpaSpecificationExecutor<ProjectMember> {
+
+}

+ 20 - 1
src/main/java/com/migao/service/FinancesService.java

@@ -1,10 +1,29 @@
 package com.migao.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.migao.config.response.PageBean;
+import com.migao.config.response.ResponseBean;
 import com.migao.entity.po.Finances;
+import com.migao.entity.vo.req.FinancesInsertReq;
+import com.migao.entity.vo.req.FinancesPageQueryReq;
+import com.migao.entity.vo.req.FinancesUpdateReq;
+import com.migao.entity.vo.res.FinancesQueryRes;
+
+import java.util.List;
 
 /**
  * @author dingsong
  */
-public interface FinancesService extends IService<Finances> {
+public interface FinancesService {
+    ResponseBean<PageBean<FinancesQueryRes>> pageQuery(FinancesPageQueryReq financesPageQueryReq);
+
+    ResponseBean<?> update(FinancesUpdateReq financesUpdateReq);
+
+    ResponseBean<?> deleteBatch(List<Integer> ids);
+
+    ResponseBean<?> deleteById(Integer id);
+
+    ResponseBean<?> insert(FinancesInsertReq financesInsertReq);
+
+    ResponseBean<Finances> findById(Integer id);
 }

+ 62 - 0
src/main/java/com/migao/service/ProjecmemberService.java

@@ -0,0 +1,62 @@
+package com.migao.service;
+
+import com.migao.config.response.PageBean;
+import com.migao.config.response.ResponseBean;
+import com.migao.entity.vo.req.ProjecmemberInsertReq;
+import com.migao.entity.vo.req.ProjecmemberPageQueryReq;
+import com.migao.entity.vo.req.ProjecmemberQueryReq;
+import com.migao.entity.vo.req.ProjecmemberUpdateReq;
+import com.migao.entity.vo.res.ProjecmemberQueryRes;
+
+import java.util.List;
+
+public interface ProjecmemberService {
+
+    /**
+     * 增
+     *
+     * @param projecmemberInsertReq projecmemberInsertReq
+     * @return ?
+     */
+    ResponseBean<?> insert(ProjecmemberInsertReq projecmemberInsertReq);
+
+    /**
+     * 分页查
+     *
+     * @param projecmemberPageQueryReq projecmemberPageQueryReq
+     * @return projecmemberQueryRes
+     */
+    ResponseBean<PageBean<ProjecmemberQueryRes>> pageQuery(ProjecmemberPageQueryReq projecmemberPageQueryReq);
+
+    /**
+     * 删
+     *
+     * @param id id
+     * @return ?
+     */
+    ResponseBean<?> deleteById(Integer id);
+
+    /**
+     * 批量删
+     *
+     * @param ids ids
+     * @return ?
+     */
+    ResponseBean<?> deleteBatch(List<Integer> ids);
+
+    /**
+     * 改
+     *
+     * @param projecmemberUpdateReq projecmemberUpdateReq
+     * @return ?
+     */
+    ResponseBean<?> update(ProjecmemberUpdateReq projecmemberUpdateReq);
+
+    /**
+     * 查
+     *
+     * @param projecmemberQueryReq
+     * @return ?
+     */
+    ResponseBean<List<ProjecmemberQueryRes>> query(ProjecmemberQueryReq projecmemberQueryReq);
+}

+ 151 - 7
src/main/java/com/migao/service/impl/FinancesServiceImpl.java

@@ -1,18 +1,162 @@
 package com.migao.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.migao.config.response.PageBean;
+import com.migao.config.response.ResponseBean;
+import com.migao.config.response.ResponseBuilder;
 import com.migao.entity.po.Finances;
+import com.migao.entity.vo.req.FinancesInsertReq;
+import com.migao.entity.vo.req.FinancesPageQueryReq;
+import com.migao.entity.vo.req.FinancesQueryReq;
+import com.migao.entity.vo.req.FinancesUpdateReq;
+import com.migao.entity.vo.res.FinancesQueryRes;
 import com.migao.mapper.FinancesMapper;
+import com.migao.mapper.FinancesRepository;
 import com.migao.service.FinancesService;
-import lombok.extern.slf4j.Slf4j;
+import com.migao.util.EntityUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-/**
- * @author dingsong
- */
-@Slf4j
+import java.time.LocalDateTime;
+import javax.annotation.Resource;
+import javax.persistence.criteria.Predicate;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
 @Service
 @Transactional(rollbackFor = {Exception.class})
-public class FinancesServiceImpl extends ServiceImpl<FinancesMapper, Finances> implements FinancesService {
+public class FinancesServiceImpl implements FinancesService {
+
+    @Resource
+    private FinancesRepository financesRepository;
+
+    @Resource
+    private FinancesMapper financesMapper;
+
+
+    /**
+     * 增
+     *
+     * @param financesInsertReq financesInsertReq
+     * @return ?
+     */
+    @Override
+    public ResponseBean<?> insert(FinancesInsertReq financesInsertReq) {
+        return ResponseBuilder.ok(financesRepository.save(EntityUtils.copyProperties(financesInsertReq, Finances.class)));
+    }
+
+    @Override
+    public ResponseBean<Finances> findById(Integer id) {
+        Finances finances = financesMapper.selectById(id);
+        return ResponseBuilder.ok(finances);
+    }
+
+    /**
+     * 分页查
+     *
+     * @param financesPageQueryReq financesPageQueryReq
+     * @return ?
+     */
+    @Override
+    public ResponseBean<PageBean<FinancesQueryRes>> pageQuery(FinancesPageQueryReq financesPageQueryReq) {
+        Integer page = financesPageQueryReq.getPage();
+        page = page == null ? 1 : page <= 0 ? 1 : page;
+        Integer size = financesPageQueryReq.getSize();
+        size = size == null ? 10 : size <= 0 ? 10 : size;
+        LambdaQueryWrapper<Finances> queryWrapper = new LambdaQueryWrapper<>();
+        if (StringUtils.isNotBlank(financesPageQueryReq.getName())) {
+            queryWrapper.like(Finances::getName, "%" + financesPageQueryReq.getName() + "%");
+        }
+        if (StringUtils.isNotBlank(financesPageQueryReq.getStatus())) {
+            queryWrapper.eq(Finances::getStatus,financesPageQueryReq.getStatus());
+        }
+        Page<Finances> all = financesMapper.selectPage(new Page<>(page, size), queryWrapper);
+        return ResponseBuilder.ok(
+                all,
+                element -> {
+                    FinancesQueryRes financesQueryRes = FinancesQueryRes
+                            .builder()
+                            .id(element.getId())
+                            .another(element.getAnother())
+                            .bankAccount(element.getBankAccount())
+                            .bankAccountDrafts(element.getBankAccountDrafts())
+                            .bankAddress(element.getBankAddress())
+                            .bankAddressDrafts(element.getBankAddressDrafts())
+                            .bankNumber(element.getBankNumber())
+                            .bankNumberDrafts(element.getBankNumberDrafts())
+                            .companyNme(element.getCompanyName())
+                            .contractMoney(String.valueOf(element.getContractMoney()))
+                            .createTime(element.getCreateTime())
+                            .createUserId(element.getCreateUserId())
+                            .deleted(element.getDeleted())
+                            .financial(element.getFinancial())
+                            .name(element.getName())
+                            .no(element.getNo())
+                            .organization(element.getOrganization())
+                            .payMoney(String.valueOf(element.getPayMoney()))
+                            .payNo(element.getPayNo())
+                            .projectId(element.getProjectId())
+                            .purchaseNo(element.getPurchaseNo())
+                            .remitTime(element.getRemitTime())
+                            .status(element.getStatus().getName())
+                            .username(element.getUsername())
+                            .build();
+                    return financesQueryRes;
+                }
+        );
+    }
+
+    /**
+     * 删
+     *
+     * @param id id
+     * @return ?
+     */
+    @Override
+    public ResponseBean<?> deleteById(Integer id) {
+        financesRepository.findById(id).ifPresent(
+                i -> {
+                    i.setDeleted(1);
+                    financesRepository.save(i);
+                }
+        );
+        return ResponseBuilder.ok();
+    }
+
+    /**
+     * 批量删
+     *
+     * @param ids ids
+     * @return ?
+     */
+    @Override
+    public ResponseBean<?> deleteBatch(List<Integer> ids) {
+        financesRepository.findAllById(ids).forEach(
+                i -> {
+                    i.setDeleted(1);
+                    financesRepository.save(i);
+                }
+        );
+        return ResponseBuilder.ok();
+    }
+
+    /**
+     * 改
+     *
+     * @param financesUpdateReq financesUpdateReq
+     * @return ?
+     */
+    @Override
+    public ResponseBean<?> update(FinancesUpdateReq financesUpdateReq) {
+        financesRepository.save(EntityUtils.copyProperties(financesUpdateReq, Finances.class));
+        return ResponseBuilder.ok();
+    }
 }

+ 226 - 0
src/main/java/com/migao/service/impl/ProjecmemberServiceImpl.java

@@ -0,0 +1,226 @@
+package com.migao.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.migao.config.response.PageBean;
+import com.migao.config.response.ResponseBean;
+import com.migao.config.response.ResponseBuilder;
+import com.migao.entity.po.ProjectMember;
+import com.migao.entity.vo.req.ProjecmemberInsertReq;
+import com.migao.entity.vo.req.ProjecmemberPageQueryReq;
+import com.migao.entity.vo.req.ProjecmemberQueryReq;
+import com.migao.entity.vo.req.ProjecmemberUpdateReq;
+import com.migao.entity.vo.res.ProjecmemberQueryRes;
+import com.migao.mapper.ProjectMemberMapper;
+import com.migao.mapper.ProjectMemberRepository;
+import com.migao.service.ProjecmemberService;
+import com.migao.util.EntityUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import java.time.LocalDateTime;
+import javax.annotation.Resource;
+import javax.persistence.criteria.Predicate;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+@Transactional(rollbackFor = {Exception.class})
+public class ProjecmemberServiceImpl implements ProjecmemberService {
+
+    @Resource
+    private ProjectMemberRepository projecmemberRepository;
+
+    @Resource
+    private  ProjectMemberMapper projectMemberMapper;
+
+
+    /**
+     * 增
+     *
+     * @param projecmemberInsertReq projecmemberInsertReq
+     * @return ?
+     */
+    @Override
+    public ResponseBean<?> insert(ProjecmemberInsertReq projecmemberInsertReq) {
+        return ResponseBuilder.ok(projecmemberRepository.save(EntityUtils.copyProperties(projecmemberInsertReq, ProjectMember.class)));
+    }
+
+    /**
+     * 分页查
+     *
+     * @param projecmemberPageQueryReq projecmemberPageQueryReq
+     * @return ?
+     */
+    @Override
+    public ResponseBean<PageBean<ProjecmemberQueryRes>> pageQuery(ProjecmemberPageQueryReq projecmemberPageQueryReq) {
+        //1。分页查询所有供公司
+        Integer page = projecmemberPageQueryReq.getPage();
+        page = page == null ? 1 : page <= 0 ? 1 : page;
+        Integer size = projecmemberPageQueryReq.getSize();
+        size = size == null ? 10 : size <= 0 ? 10 : size;
+
+        LambdaQueryWrapper<ProjectMember> queryWrapper=new LambdaQueryWrapper<>();
+        if (StringUtils.isNotBlank(projecmemberPageQueryReq.getUsername())){
+            queryWrapper.like(ProjectMember::getUsername,"%"+projecmemberPageQueryReq.getUsername()+"%");
+        }
+        if (StringUtils.isNotBlank(projecmemberPageQueryReq.getName())){
+            queryWrapper.like(ProjectMember::getName,"%"+projecmemberPageQueryReq.getName()+"%");
+        }
+        Page<ProjectMember> all = projectMemberMapper.selectPage(new Page<>(page,size), queryWrapper);
+        return ResponseBuilder.ok(
+                all,
+                element -> {
+                    ProjecmemberQueryRes projecmemberQueryRes = ProjecmemberQueryRes
+                            .builder()
+                            .id(element.getId())
+                            .createTime(element.getCreateTime())
+                            .createUserId(element.getCreateUserId())
+                            .deleted(element.getDeleted())
+                            .departmentName(element.getDepartmentName())
+                            .isSigned(element.getIsSigned())
+                            .name(element.getName())
+                            .projectId(element.getProjectId())
+                            .build();
+                    return projecmemberQueryRes;
+                }
+        );
+    }
+
+    /**
+    * 删
+    *
+    * @param id id
+    * @return ?
+    */
+    @Override
+    public ResponseBean<?> deleteById(Integer id) {
+        projecmemberRepository.findById(id).ifPresent(
+            i -> {
+                i.setDeleted(1);
+        projecmemberRepository.save(i);
+            }
+        );
+        return ResponseBuilder.ok();
+    }
+
+    /**
+    * 批量删
+    *
+    * @param ids ids
+    * @return ?
+    */
+    @Override
+    public ResponseBean<?> deleteBatch(List<Integer> ids) {
+            projecmemberRepository.findAllById(ids).forEach(
+            i -> {
+                i.setDeleted(1);
+            projecmemberRepository.save(i);
+            }
+        );
+        return ResponseBuilder.ok();
+    }
+    /**
+     * 改
+     *
+     * @param projecmemberUpdateReq projecmemberUpdateReq
+     * @return ?
+     */
+    @Override
+    public ResponseBean<?> update(ProjecmemberUpdateReq projecmemberUpdateReq) {
+            projecmemberRepository.save(EntityUtils.copyProperties(projecmemberUpdateReq, ProjectMember.class));
+        return ResponseBuilder.ok();
+    }
+
+    /**
+     * 查
+     *
+     * @param projecmemberQueryReq projecmemberQueryReq
+     * @return ?
+     */
+    @Override
+    public ResponseBean<List<ProjecmemberQueryRes>> query(ProjecmemberQueryReq projecmemberQueryReq) {
+        //1。分页查询所有供公司
+        Specification<ProjectMember> projecmemberSpecification = (root, criteriaQuery, criteriaBuilder) -> {
+        List<Predicate> predicateList = new ArrayList<>();
+                    if (projecmemberQueryReq.getId()!=null) {
+                    Predicate equal = criteriaBuilder.equal(root.get("id").as(Integer.class),
+                    projecmemberQueryReq.getId()
+                    );
+                    predicateList.add(equal);
+                    }
+                    if (projecmemberQueryReq.getCreateTime()!=null) {
+                    Predicate equal = criteriaBuilder.equal(root.get("createTime").as(LocalDateTime.class),
+                    projecmemberQueryReq.getCreateTime()
+                    );
+                    predicateList.add(equal);
+                    }
+                    if (projecmemberQueryReq.getCreateUserId()!=null) {
+                    Predicate equal = criteriaBuilder.equal(root.get("createUserId").as(Integer.class),
+                    projecmemberQueryReq.getCreateUserId()
+                    );
+                    predicateList.add(equal);
+                    }
+                    if (projecmemberQueryReq.getDeleted()!=null) {
+                    Predicate equal = criteriaBuilder.equal(root.get("deleted").as(Integer.class),
+                    projecmemberQueryReq.getDeleted()
+                    );
+                    predicateList.add(equal);
+                    }
+                    if (StringUtils.isNotBlank(projecmemberQueryReq.getDepartmentName())) {
+                    Predicate like = criteriaBuilder.like(root.get("departmentName").as(String.class),
+                    StringUtils.join(
+                    "%", projecmemberQueryReq.getDepartmentName(), "%"
+                    ));
+                    predicateList.add(like);
+                    }
+                    if (StringUtils.isNotBlank(projecmemberQueryReq.getIsSigned())) {
+                    Predicate like = criteriaBuilder.like(root.get("isSigned").as(String.class),
+                    StringUtils.join(
+                    "%", projecmemberQueryReq.getIsSigned(), "%"
+                    ));
+                    predicateList.add(like);
+                    }
+                    if (StringUtils.isNotBlank(projecmemberQueryReq.getName())) {
+                    Predicate like = criteriaBuilder.like(root.get("name").as(String.class),
+                    StringUtils.join(
+                    "%", projecmemberQueryReq.getName(), "%"
+                    ));
+                    predicateList.add(like);
+                    }
+                    if (projecmemberQueryReq.getProjectId()!=null) {
+                    Predicate equal = criteriaBuilder.equal(root.get("projectId").as(Integer.class),
+                    projecmemberQueryReq.getProjectId()
+                    );
+                    predicateList.add(equal);
+                    }
+            criteriaBuilder.equal(root.get("deleted").as(Integer.class),1);
+            Predicate[] predicateArray = new Predicate[predicateList.size()];
+            criteriaQuery.where(criteriaBuilder.and(predicateList.toArray(predicateArray)));
+            return criteriaQuery.getRestriction();
+        };
+        List<ProjectMember> all = projecmemberRepository.findAll(projecmemberSpecification);
+        return ResponseBuilder.ok(
+                all.stream().map(
+                        element -> {
+                        ProjecmemberQueryRes projecmemberQueryRes = ProjecmemberQueryRes
+                        .builder()
+                            .id(element.getId())
+                            .createTime(element.getCreateTime())
+                            .createUserId(element.getCreateUserId())
+                            .deleted(element.getDeleted())
+                            .departmentName(element.getDepartmentName())
+                            .isSigned(element.getIsSigned())
+                            .name(element.getName())
+                            .projectId(element.getProjectId())
+                        .build();
+                        return projecmemberQueryRes;
+                        }
+                ).collect(Collectors.toList())
+        );
+    }
+}