Browse Source

Merge remote-tracking branch 'origin/master'

徐滕 1 month ago
parent
commit
addff656e8
28 changed files with 1045 additions and 47 deletions
  1. 41 0
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/controller/InvoiceConfirmStatusController.java
  2. 28 0
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/domain/InvoiceConfirmStatus.java
  3. 12 0
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/InvoiceConfirmStatusMapper.java
  4. 5 0
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/xml/InvoiceConfirmStatusMapper.xml
  5. 96 0
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/service/InvoiceConfirmStatusService.java
  6. 41 0
      jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/controller/InvoiceConfirmStatusController.java
  7. 28 0
      jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/domain/InvoiceConfirmStatus.java
  8. 12 0
      jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/mapper/InvoiceConfirmStatusMapper.java
  9. 5 0
      jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/mapper/xml/InvoiceConfirmStatusMapper.xml
  10. 96 0
      jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/service/InvoiceConfirmStatusService.java
  11. 41 0
      jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/controller/InvoiceConfirmStatusController.java
  12. 28 0
      jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/domain/InvoiceConfirmStatus.java
  13. 12 0
      jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/mapper/InvoiceConfirmStatusMapper.java
  14. 5 0
      jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/mapper/xml/InvoiceConfirmStatusMapper.xml
  15. 96 0
      jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/service/InvoiceConfirmStatusService.java
  16. 41 0
      jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/controller/InvoiceConfirmStatusController.java
  17. 28 0
      jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/domain/InvoiceConfirmStatus.java
  18. 12 0
      jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/mapper/InvoiceConfirmStatusMapper.java
  19. 5 0
      jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/mapper/xml/InvoiceConfirmStatusMapper.xml
  20. 96 0
      jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/service/InvoiceConfirmStatusService.java
  21. 41 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/controller/InvoiceConfirmStatusController.java
  22. 28 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/domain/InvoiceConfirmStatus.java
  23. 12 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/mapper/InvoiceConfirmStatusMapper.java
  24. 5 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/mapper/xml/InvoiceConfirmStatusMapper.xml
  25. 96 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/service/InvoiceConfirmStatusService.java
  26. 10 0
      jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/handover/mapper/HandoverMapper.java
  27. 13 0
      jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/handover/mapper/xml/HandoverMapper.xml
  28. 112 47
      jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/handover/service/HandoverService.java

+ 41 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/controller/InvoiceConfirmStatusController.java

@@ -0,0 +1,41 @@
+package com.jeeplus.assess.reimbursement.reimbursementInfo.controller;
+
+import com.jeeplus.assess.reimbursement.reimbursementInfo.domain.InvoiceConfirmStatus;
+import com.jeeplus.assess.reimbursement.reimbursementInfo.service.InvoiceConfirmStatusService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RestController
+@RequestMapping(value = "/invoiceConfirm/confirmStatus")
+public class InvoiceConfirmStatusController {
+
+    @Resource
+    private InvoiceConfirmStatusService invoiceConfirmStatusService;
+
+    /**
+     * 查询当前报销数电发票的确认状态
+     */
+    @GetMapping("getListByUser")
+    @ApiOperation(value = "列表")
+    public ResponseEntity getListByUser(InvoiceConfirmStatus dto) {
+        List<InvoiceConfirmStatus> listByUser = invoiceConfirmStatusService.getListByUser(dto);
+        return ResponseEntity.ok(listByUser);
+    }
+
+    /**
+     * 新增/修改
+     */
+    @PostMapping("save")
+    @ApiOperation(value = "新增/修改状态")
+    public ResponseEntity<String> save(@RequestBody InvoiceConfirmStatus dto) {
+        String s = invoiceConfirmStatusService.save(dto);
+        return ResponseEntity.ok(s);
+    }
+
+
+
+}

+ 28 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/domain/InvoiceConfirmStatus.java

@@ -0,0 +1,28 @@
+package com.jeeplus.assess.reimbursement.reimbursementInfo.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName(value = "invoice_confirm_status")
+public class InvoiceConfirmStatus extends BaseEntity {
+
+    /**
+     * 用户id
+     */
+    private String userId;
+    /**
+     * 发票数据id
+     */
+    private String invoiceId;
+    /**
+     * 报销申请id
+     */
+    private String reimbursementId;
+    /**
+     * 状态
+     */
+    private String status;
+
+}

+ 12 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/InvoiceConfirmStatusMapper.java

@@ -0,0 +1,12 @@
+package com.jeeplus.assess.reimbursement.reimbursementInfo.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.assess.reimbursement.reimbursementInfo.domain.InvoiceConfirmStatus;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface InvoiceConfirmStatusMapper extends BaseMapper<InvoiceConfirmStatus> {
+
+
+}

+ 5 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/xml/InvoiceConfirmStatusMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.assess.reimbursement.reimbursementInfo.mapper.InvoiceConfirmStatusMapper">
+
+</mapper>

+ 96 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/service/InvoiceConfirmStatusService.java

@@ -0,0 +1,96 @@
+package com.jeeplus.assess.reimbursement.reimbursementInfo.service;
+
+import cn.hutool.extra.spring.SpringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.jeeplus.assess.reimbursement.reimbursementInfo.domain.InvoiceConfirmStatus;
+import com.jeeplus.assess.reimbursement.reimbursementInfo.mapper.InvoiceConfirmStatusMapper;
+import com.jeeplus.common.TokenProvider;
+import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.UserDTO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+@Service
+public class InvoiceConfirmStatusService {
+
+    @Resource
+    private InvoiceConfirmStatusMapper invoiceConfirmStatusMapper;
+
+    public String save(InvoiceConfirmStatus dto) {
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        try {
+            String invoiceIds = dto.getInvoiceId();
+            String[] split = invoiceIds.split(",");
+            for (String invoiceId : split) {
+                QueryWrapper<InvoiceConfirmStatus> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("invoice_id", invoiceId);  // 假设你按 invoice_id 查一条记录
+                queryWrapper.eq("user_id", userDTO.getId());  // 假设你按 invoice_id 查一条记录
+                InvoiceConfirmStatus invoiceConfirmStatus = invoiceConfirmStatusMapper.selectOne(queryWrapper);
+                InvoiceConfirmStatus invoiceConfirmStatus1 = new InvoiceConfirmStatus();
+                if (invoiceConfirmStatus == null) {
+                    invoiceConfirmStatus1.setStatus(dto.getStatus());
+                    invoiceConfirmStatus1.setInvoiceId(invoiceId);
+                    invoiceConfirmStatus1.setReimbursementId(dto.getReimbursementId());
+                    add(invoiceConfirmStatus1);
+                } else {
+                    invoiceConfirmStatus1.setStatus(dto.getStatus());
+                    invoiceConfirmStatus1.setInvoiceId(invoiceId);
+                    update(invoiceConfirmStatus1);
+                }
+            }
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        return "操作完成";
+    }
+
+    public String add(InvoiceConfirmStatus dto) {
+        // 获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        // 生成id
+        String id = UUID.randomUUID().toString().replace("-", "");
+        // 保存用户确认状态数据
+        InvoiceConfirmStatus detail = new InvoiceConfirmStatus();
+        BeanUtils.copyProperties(dto, detail);
+        detail.setId(id);
+        detail.setCreateById(userDTO.getId());
+        detail.setCreateTime(new Date());
+        detail.setUpdateById(userDTO.getId());
+        detail.setUpdateTime(new Date());
+        detail.setDelFlag(0);
+        detail.setUserId(userDTO.getId());
+        detail.setReimbursementId(dto.getReimbursementId());
+        detail.setInvoiceId(dto.getInvoiceId());
+        detail.setStatus(dto.getStatus());
+        invoiceConfirmStatusMapper.insert(detail);
+        return "操作完成";
+    }
+
+    public String update(InvoiceConfirmStatus dto) {
+        // 获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        // 保存用户确认状态数据
+        InvoiceConfirmStatus detail = new InvoiceConfirmStatus();
+        BeanUtils.copyProperties(dto, detail);
+        detail.setUpdateById(userDTO.getId());
+        detail.setUpdateTime(new Date());
+        detail.setStatus(dto.getStatus());
+        detail.setStatus(dto.getStatus());
+        invoiceConfirmStatusMapper.updateById(detail);
+        return "操作完成";
+    }
+
+    public List<InvoiceConfirmStatus> getListByUser(InvoiceConfirmStatus invoiceConfirmStatus){
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        QueryWrapper<InvoiceConfirmStatus> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("reimbursement_id", invoiceConfirmStatus.getReimbursementId());  // 假设你按 invoice_id 查一条记录
+        queryWrapper.eq("user_id", userDTO.getId());  // 假设你按 invoice_id 查一条记录
+        List<InvoiceConfirmStatus> invoiceConfirmStatuses = invoiceConfirmStatusMapper.selectList(queryWrapper);
+        return invoiceConfirmStatuses;
+    }
+}

+ 41 - 0
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/controller/InvoiceConfirmStatusController.java

@@ -0,0 +1,41 @@
+package com.jeeplus.ccpm.approvalInfo.controller;
+
+import com.jeeplus.ccpm.approvalInfo.domain.InvoiceConfirmStatus;
+import com.jeeplus.ccpm.approvalInfo.service.InvoiceConfirmStatusService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RestController
+@RequestMapping(value = "/invoiceConfirm/confirmStatus")
+public class InvoiceConfirmStatusController {
+
+    @Resource
+    private InvoiceConfirmStatusService invoiceConfirmStatusService;
+
+    /**
+     * 查询当前报销数电发票的确认状态
+     */
+    @GetMapping("getListByUser")
+    @ApiOperation(value = "列表")
+    public ResponseEntity getListByUser(InvoiceConfirmStatus dto) {
+        List<InvoiceConfirmStatus> listByUser = invoiceConfirmStatusService.getListByUser(dto);
+        return ResponseEntity.ok(listByUser);
+    }
+
+    /**
+     * 新增/修改
+     */
+    @PostMapping("save")
+    @ApiOperation(value = "新增/修改状态")
+    public ResponseEntity<String> save(@RequestBody InvoiceConfirmStatus dto) {
+        String s = invoiceConfirmStatusService.save(dto);
+        return ResponseEntity.ok(s);
+    }
+
+
+
+}

+ 28 - 0
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/domain/InvoiceConfirmStatus.java

@@ -0,0 +1,28 @@
+package com.jeeplus.ccpm.approvalInfo.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName(value = "ccpm_invoice_confirm_status")
+public class InvoiceConfirmStatus extends BaseEntity {
+
+    /**
+     * 用户id
+     */
+    private String userId;
+    /**
+     * 发票数据id
+     */
+    private String invoiceId;
+    /**
+     * 报销申请id
+     */
+    private String reimbursementId;
+    /**
+     * 状态
+     */
+    private String status;
+
+}

+ 12 - 0
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/mapper/InvoiceConfirmStatusMapper.java

@@ -0,0 +1,12 @@
+package com.jeeplus.ccpm.approvalInfo.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.ccpm.approvalInfo.domain.InvoiceConfirmStatus;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface InvoiceConfirmStatusMapper extends BaseMapper<InvoiceConfirmStatus> {
+
+
+}

+ 5 - 0
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/mapper/xml/InvoiceConfirmStatusMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.ccpm.approvalInfo.mapper.InvoiceConfirmStatusMapper">
+
+</mapper>

+ 96 - 0
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/service/InvoiceConfirmStatusService.java

@@ -0,0 +1,96 @@
+package com.jeeplus.ccpm.approvalInfo.service;
+
+import cn.hutool.extra.spring.SpringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.jeeplus.ccpm.approvalInfo.domain.InvoiceConfirmStatus;
+import com.jeeplus.ccpm.approvalInfo.mapper.InvoiceConfirmStatusMapper;
+import com.jeeplus.common.TokenProvider;
+import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.UserDTO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+@Service
+public class InvoiceConfirmStatusService {
+
+    @Resource
+    private InvoiceConfirmStatusMapper invoiceConfirmStatusMapper;
+
+    public String save(InvoiceConfirmStatus dto) {
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        try {
+            String invoiceIds = dto.getInvoiceId();
+            String[] split = invoiceIds.split(",");
+            for (String invoiceId : split) {
+                QueryWrapper<InvoiceConfirmStatus> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("invoice_id", invoiceId);  // 假设你按 invoice_id 查一条记录
+                queryWrapper.eq("user_id", userDTO.getId());  // 假设你按 invoice_id 查一条记录
+                InvoiceConfirmStatus invoiceConfirmStatus = invoiceConfirmStatusMapper.selectOne(queryWrapper);
+                InvoiceConfirmStatus invoiceConfirmStatus1 = new InvoiceConfirmStatus();
+                if (invoiceConfirmStatus == null) {
+                    invoiceConfirmStatus1.setStatus(dto.getStatus());
+                    invoiceConfirmStatus1.setInvoiceId(invoiceId);
+                    invoiceConfirmStatus1.setReimbursementId(dto.getReimbursementId());
+                    add(invoiceConfirmStatus1);
+                } else {
+                    invoiceConfirmStatus1.setStatus(dto.getStatus());
+                    invoiceConfirmStatus1.setInvoiceId(invoiceId);
+                    update(invoiceConfirmStatus1);
+                }
+            }
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        return "操作完成";
+    }
+
+    public String add(InvoiceConfirmStatus dto) {
+        // 获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        // 生成id
+        String id = UUID.randomUUID().toString().replace("-", "");
+        // 保存用户确认状态数据
+        InvoiceConfirmStatus detail = new InvoiceConfirmStatus();
+        BeanUtils.copyProperties(dto, detail);
+        detail.setId(id);
+        detail.setCreateById(userDTO.getId());
+        detail.setCreateTime(new Date());
+        detail.setUpdateById(userDTO.getId());
+        detail.setUpdateTime(new Date());
+        detail.setDelFlag(0);
+        detail.setUserId(userDTO.getId());
+        detail.setReimbursementId(dto.getReimbursementId());
+        detail.setInvoiceId(dto.getInvoiceId());
+        detail.setStatus(dto.getStatus());
+        invoiceConfirmStatusMapper.insert(detail);
+        return "操作完成";
+    }
+
+    public String update(InvoiceConfirmStatus dto) {
+        // 获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        // 保存用户确认状态数据
+        InvoiceConfirmStatus detail = new InvoiceConfirmStatus();
+        BeanUtils.copyProperties(dto, detail);
+        detail.setUpdateById(userDTO.getId());
+        detail.setUpdateTime(new Date());
+        detail.setStatus(dto.getStatus());
+        detail.setStatus(dto.getStatus());
+        invoiceConfirmStatusMapper.updateById(detail);
+        return "操作完成";
+    }
+
+    public List<InvoiceConfirmStatus> getListByUser(InvoiceConfirmStatus invoiceConfirmStatus){
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        QueryWrapper<InvoiceConfirmStatus> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("reimbursement_id", invoiceConfirmStatus.getReimbursementId());  // 假设你按 invoice_id 查一条记录
+        queryWrapper.eq("user_id", userDTO.getId());  // 假设你按 invoice_id 查一条记录
+        List<InvoiceConfirmStatus> invoiceConfirmStatuses = invoiceConfirmStatusMapper.selectList(queryWrapper);
+        return invoiceConfirmStatuses;
+    }
+}

+ 41 - 0
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/controller/InvoiceConfirmStatusController.java

@@ -0,0 +1,41 @@
+package com.jeeplus.centrecareful.approvalInfo.controller;
+
+import com.jeeplus.centrecareful.approvalInfo.domain.InvoiceConfirmStatus;
+import com.jeeplus.centrecareful.approvalInfo.service.InvoiceConfirmStatusService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RestController
+@RequestMapping(value = "/zsInvoiceConfirm/confirmStatus")
+public class InvoiceConfirmStatusController {
+
+    @Resource
+    private InvoiceConfirmStatusService invoiceConfirmStatusService;
+
+    /**
+     * 查询当前报销数电发票的确认状态
+     */
+    @GetMapping("getListByUser")
+    @ApiOperation(value = "列表")
+    public ResponseEntity getListByUser(InvoiceConfirmStatus dto) {
+        List<InvoiceConfirmStatus> listByUser = invoiceConfirmStatusService.getListByUser(dto);
+        return ResponseEntity.ok(listByUser);
+    }
+
+    /**
+     * 新增/修改
+     */
+    @PostMapping("save")
+    @ApiOperation(value = "新增/修改状态")
+    public ResponseEntity<String> save(@RequestBody InvoiceConfirmStatus dto) {
+        String s = invoiceConfirmStatusService.save(dto);
+        return ResponseEntity.ok(s);
+    }
+
+
+
+}

+ 28 - 0
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/domain/InvoiceConfirmStatus.java

@@ -0,0 +1,28 @@
+package com.jeeplus.centrecareful.approvalInfo.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName(value = "zs_invoice_confirm_status")
+public class InvoiceConfirmStatus extends BaseEntity {
+
+    /**
+     * 用户id
+     */
+    private String userId;
+    /**
+     * 发票数据id
+     */
+    private String invoiceId;
+    /**
+     * 报销申请id
+     */
+    private String reimbursementId;
+    /**
+     * 状态
+     */
+    private String status;
+
+}

+ 12 - 0
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/mapper/InvoiceConfirmStatusMapper.java

@@ -0,0 +1,12 @@
+package com.jeeplus.centrecareful.approvalInfo.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.centrecareful.approvalInfo.domain.InvoiceConfirmStatus;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface InvoiceConfirmStatusMapper extends BaseMapper<InvoiceConfirmStatus> {
+
+
+}

+ 5 - 0
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/mapper/xml/InvoiceConfirmStatusMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.centrecareful.approvalInfo.mapper.InvoiceConfirmStatusMapper">
+
+</mapper>

+ 96 - 0
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/service/InvoiceConfirmStatusService.java

@@ -0,0 +1,96 @@
+package com.jeeplus.centrecareful.approvalInfo.service;
+
+import cn.hutool.extra.spring.SpringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.jeeplus.centrecareful.approvalInfo.domain.InvoiceConfirmStatus;
+import com.jeeplus.centrecareful.approvalInfo.mapper.InvoiceConfirmStatusMapper;
+import com.jeeplus.common.TokenProvider;
+import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.UserDTO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+@Service
+public class InvoiceConfirmStatusService {
+
+    @Resource
+    private InvoiceConfirmStatusMapper invoiceConfirmStatusMapper;
+
+    public String save(InvoiceConfirmStatus dto) {
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        try {
+            String invoiceIds = dto.getInvoiceId();
+            String[] split = invoiceIds.split(",");
+            for (String invoiceId : split) {
+                QueryWrapper<InvoiceConfirmStatus> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("invoice_id", invoiceId);  // 假设你按 invoice_id 查一条记录
+                queryWrapper.eq("user_id", userDTO.getId());  // 假设你按 invoice_id 查一条记录
+                InvoiceConfirmStatus invoiceConfirmStatus = invoiceConfirmStatusMapper.selectOne(queryWrapper);
+                InvoiceConfirmStatus invoiceConfirmStatus1 = new InvoiceConfirmStatus();
+                if (invoiceConfirmStatus == null) {
+                    invoiceConfirmStatus1.setStatus(dto.getStatus());
+                    invoiceConfirmStatus1.setInvoiceId(invoiceId);
+                    invoiceConfirmStatus1.setReimbursementId(dto.getReimbursementId());
+                    add(invoiceConfirmStatus1);
+                } else {
+                    invoiceConfirmStatus1.setStatus(dto.getStatus());
+                    invoiceConfirmStatus1.setInvoiceId(invoiceId);
+                    update(invoiceConfirmStatus1);
+                }
+            }
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        return "操作完成";
+    }
+
+    public String add(InvoiceConfirmStatus dto) {
+        // 获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        // 生成id
+        String id = UUID.randomUUID().toString().replace("-", "");
+        // 保存用户确认状态数据
+        InvoiceConfirmStatus detail = new InvoiceConfirmStatus();
+        BeanUtils.copyProperties(dto, detail);
+        detail.setId(id);
+        detail.setCreateById(userDTO.getId());
+        detail.setCreateTime(new Date());
+        detail.setUpdateById(userDTO.getId());
+        detail.setUpdateTime(new Date());
+        detail.setDelFlag(0);
+        detail.setUserId(userDTO.getId());
+        detail.setReimbursementId(dto.getReimbursementId());
+        detail.setInvoiceId(dto.getInvoiceId());
+        detail.setStatus(dto.getStatus());
+        invoiceConfirmStatusMapper.insert(detail);
+        return "操作完成";
+    }
+
+    public String update(InvoiceConfirmStatus dto) {
+        // 获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        // 保存用户确认状态数据
+        InvoiceConfirmStatus detail = new InvoiceConfirmStatus();
+        BeanUtils.copyProperties(dto, detail);
+        detail.setUpdateById(userDTO.getId());
+        detail.setUpdateTime(new Date());
+        detail.setStatus(dto.getStatus());
+        detail.setStatus(dto.getStatus());
+        invoiceConfirmStatusMapper.updateById(detail);
+        return "操作完成";
+    }
+
+    public List<InvoiceConfirmStatus> getListByUser(InvoiceConfirmStatus invoiceConfirmStatus){
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        QueryWrapper<InvoiceConfirmStatus> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("reimbursement_id", invoiceConfirmStatus.getReimbursementId());  // 假设你按 invoice_id 查一条记录
+        queryWrapper.eq("user_id", userDTO.getId());  // 假设你按 invoice_id 查一条记录
+        List<InvoiceConfirmStatus> invoiceConfirmStatuses = invoiceConfirmStatusMapper.selectList(queryWrapper);
+        return invoiceConfirmStatuses;
+    }
+}

+ 41 - 0
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/controller/InvoiceConfirmStatusController.java

@@ -0,0 +1,41 @@
+package com.jeeplus.consultancy.approvalInfo.controller;
+
+import com.jeeplus.consultancy.approvalInfo.domain.InvoiceConfirmStatus;
+import com.jeeplus.consultancy.approvalInfo.service.InvoiceConfirmStatusService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RestController
+@RequestMapping(value = "/invoiceConfirm/confirmStatus")
+public class InvoiceConfirmStatusController {
+
+    @Resource
+    private InvoiceConfirmStatusService invoiceConfirmStatusService;
+
+    /**
+     * 查询当前报销数电发票的确认状态
+     */
+    @GetMapping("getListByUser")
+    @ApiOperation(value = "列表")
+    public ResponseEntity getListByUser(InvoiceConfirmStatus dto) {
+        List<InvoiceConfirmStatus> listByUser = invoiceConfirmStatusService.getListByUser(dto);
+        return ResponseEntity.ok(listByUser);
+    }
+
+    /**
+     * 新增/修改
+     */
+    @PostMapping("save")
+    @ApiOperation(value = "新增/修改状态")
+    public ResponseEntity<String> save(@RequestBody InvoiceConfirmStatus dto) {
+        String s = invoiceConfirmStatusService.save(dto);
+        return ResponseEntity.ok(s);
+    }
+
+
+
+}

+ 28 - 0
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/domain/InvoiceConfirmStatus.java

@@ -0,0 +1,28 @@
+package com.jeeplus.consultancy.approvalInfo.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName(value = "consultancy_invoice_confirm_status")
+public class InvoiceConfirmStatus extends BaseEntity {
+
+    /**
+     * 用户id
+     */
+    private String userId;
+    /**
+     * 发票数据id
+     */
+    private String invoiceId;
+    /**
+     * 报销申请id
+     */
+    private String reimbursementId;
+    /**
+     * 状态
+     */
+    private String status;
+
+}

+ 12 - 0
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/mapper/InvoiceConfirmStatusMapper.java

@@ -0,0 +1,12 @@
+package com.jeeplus.consultancy.approvalInfo.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.consultancy.approvalInfo.domain.InvoiceConfirmStatus;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface InvoiceConfirmStatusMapper extends BaseMapper<InvoiceConfirmStatus> {
+
+
+}

+ 5 - 0
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/mapper/xml/InvoiceConfirmStatusMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.consultancy.approvalInfo.mapper.InvoiceConfirmStatusMapper">
+
+</mapper>

+ 96 - 0
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/service/InvoiceConfirmStatusService.java

@@ -0,0 +1,96 @@
+package com.jeeplus.consultancy.approvalInfo.service;
+
+import cn.hutool.extra.spring.SpringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.jeeplus.common.TokenProvider;
+import com.jeeplus.consultancy.approvalInfo.domain.InvoiceConfirmStatus;
+import com.jeeplus.consultancy.approvalInfo.mapper.InvoiceConfirmStatusMapper;
+import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.UserDTO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+@Service
+public class InvoiceConfirmStatusService {
+
+    @Resource
+    private InvoiceConfirmStatusMapper invoiceConfirmStatusMapper;
+
+    public String save(InvoiceConfirmStatus dto) {
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        try {
+            String invoiceIds = dto.getInvoiceId();
+            String[] split = invoiceIds.split(",");
+            for (String invoiceId : split) {
+                QueryWrapper<InvoiceConfirmStatus> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("invoice_id", invoiceId);  // 假设你按 invoice_id 查一条记录
+                queryWrapper.eq("user_id", userDTO.getId());  // 假设你按 invoice_id 查一条记录
+                InvoiceConfirmStatus invoiceConfirmStatus = invoiceConfirmStatusMapper.selectOne(queryWrapper);
+                InvoiceConfirmStatus invoiceConfirmStatus1 = new InvoiceConfirmStatus();
+                if (invoiceConfirmStatus == null) {
+                    invoiceConfirmStatus1.setStatus(dto.getStatus());
+                    invoiceConfirmStatus1.setInvoiceId(invoiceId);
+                    invoiceConfirmStatus1.setReimbursementId(dto.getReimbursementId());
+                    add(invoiceConfirmStatus1);
+                } else {
+                    invoiceConfirmStatus1.setStatus(dto.getStatus());
+                    invoiceConfirmStatus1.setInvoiceId(invoiceId);
+                    update(invoiceConfirmStatus1);
+                }
+            }
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        return "操作完成";
+    }
+
+    public String add(InvoiceConfirmStatus dto) {
+        // 获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        // 生成id
+        String id = UUID.randomUUID().toString().replace("-", "");
+        // 保存用户确认状态数据
+        InvoiceConfirmStatus detail = new InvoiceConfirmStatus();
+        BeanUtils.copyProperties(dto, detail);
+        detail.setId(id);
+        detail.setCreateById(userDTO.getId());
+        detail.setCreateTime(new Date());
+        detail.setUpdateById(userDTO.getId());
+        detail.setUpdateTime(new Date());
+        detail.setDelFlag(0);
+        detail.setUserId(userDTO.getId());
+        detail.setReimbursementId(dto.getReimbursementId());
+        detail.setInvoiceId(dto.getInvoiceId());
+        detail.setStatus(dto.getStatus());
+        invoiceConfirmStatusMapper.insert(detail);
+        return "操作完成";
+    }
+
+    public String update(InvoiceConfirmStatus dto) {
+        // 获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        // 保存用户确认状态数据
+        InvoiceConfirmStatus detail = new InvoiceConfirmStatus();
+        BeanUtils.copyProperties(dto, detail);
+        detail.setUpdateById(userDTO.getId());
+        detail.setUpdateTime(new Date());
+        detail.setStatus(dto.getStatus());
+        detail.setStatus(dto.getStatus());
+        invoiceConfirmStatusMapper.updateById(detail);
+        return "操作完成";
+    }
+
+    public List<InvoiceConfirmStatus> getListByUser(InvoiceConfirmStatus invoiceConfirmStatus){
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        QueryWrapper<InvoiceConfirmStatus> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("reimbursement_id", invoiceConfirmStatus.getReimbursementId());  // 假设你按 invoice_id 查一条记录
+        queryWrapper.eq("user_id", userDTO.getId());  // 假设你按 invoice_id 查一条记录
+        List<InvoiceConfirmStatus> invoiceConfirmStatuses = invoiceConfirmStatusMapper.selectList(queryWrapper);
+        return invoiceConfirmStatuses;
+    }
+}

+ 41 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/controller/InvoiceConfirmStatusController.java

@@ -0,0 +1,41 @@
+package com.jeeplus.finance.invoice.controller;
+
+import com.jeeplus.finance.invoice.domain.InvoiceConfirmStatus;
+import com.jeeplus.finance.invoice.service.InvoiceConfirmStatusService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@RestController
+@RequestMapping(value = "/invoiceConfirm/confirmStatus")
+public class InvoiceConfirmStatusController {
+
+    @Resource
+    private InvoiceConfirmStatusService invoiceConfirmStatusService;
+
+    /**
+     * 查询当前报销数电发票的确认状态
+     */
+    @GetMapping("getListByUser")
+    @ApiOperation(value = "列表")
+    public ResponseEntity getListByUser(InvoiceConfirmStatus dto) {
+        List<InvoiceConfirmStatus> listByUser = invoiceConfirmStatusService.getListByUser(dto);
+        return ResponseEntity.ok(listByUser);
+    }
+
+    /**
+     * 新增/修改
+     */
+    @PostMapping("save")
+    @ApiOperation(value = "新增/修改状态")
+    public ResponseEntity<String> save(@RequestBody InvoiceConfirmStatus dto) {
+        String s = invoiceConfirmStatusService.save(dto);
+        return ResponseEntity.ok(s);
+    }
+
+
+
+}

+ 28 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/domain/InvoiceConfirmStatus.java

@@ -0,0 +1,28 @@
+package com.jeeplus.finance.invoice.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+@Data
+@TableName(value = "finance_invoice_confirm_status")
+public class InvoiceConfirmStatus extends BaseEntity {
+
+    /**
+     * 用户id
+     */
+    private String userId;
+    /**
+     * 发票数据id
+     */
+    private String invoiceId;
+    /**
+     * 报销申请id
+     */
+    private String reimbursementId;
+    /**
+     * 状态
+     */
+    private String status;
+
+}

+ 12 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/mapper/InvoiceConfirmStatusMapper.java

@@ -0,0 +1,12 @@
+package com.jeeplus.finance.invoice.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.finance.invoice.domain.InvoiceConfirmStatus;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface InvoiceConfirmStatusMapper extends BaseMapper<InvoiceConfirmStatus> {
+
+
+}

+ 5 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/mapper/xml/InvoiceConfirmStatusMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.finance.invoice.mapper.InvoiceConfirmStatusMapper">
+
+</mapper>

+ 96 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/service/InvoiceConfirmStatusService.java

@@ -0,0 +1,96 @@
+package com.jeeplus.finance.invoice.service;
+
+import cn.hutool.extra.spring.SpringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.jeeplus.common.TokenProvider;
+import com.jeeplus.finance.invoice.domain.InvoiceConfirmStatus;
+import com.jeeplus.finance.invoice.mapper.InvoiceConfirmStatusMapper;
+import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.UserDTO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+@Service
+public class InvoiceConfirmStatusService {
+
+    @Resource
+    private InvoiceConfirmStatusMapper invoiceConfirmStatusMapper;
+
+    public String save(InvoiceConfirmStatus dto) {
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        try {
+            String invoiceIds = dto.getInvoiceId();
+            String[] split = invoiceIds.split(",");
+            for (String invoiceId : split) {
+                QueryWrapper<InvoiceConfirmStatus> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("invoice_id", invoiceId);  //  invoice_id
+                queryWrapper.eq("user_id", userDTO.getId());  // user_id
+                InvoiceConfirmStatus invoiceConfirmStatus = invoiceConfirmStatusMapper.selectOne(queryWrapper);
+                InvoiceConfirmStatus invoiceConfirmStatus1 = new InvoiceConfirmStatus();
+                if (invoiceConfirmStatus == null) {
+                    invoiceConfirmStatus1.setStatus(dto.getStatus());
+                    invoiceConfirmStatus1.setInvoiceId(invoiceId);
+                    invoiceConfirmStatus1.setReimbursementId(dto.getReimbursementId());
+                    add(invoiceConfirmStatus1);
+                } else {
+                    invoiceConfirmStatus1.setStatus(dto.getStatus());
+                    invoiceConfirmStatus1.setInvoiceId(invoiceId);
+                    update(invoiceConfirmStatus1);
+                }
+            }
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        return "操作完成";
+    }
+
+    public String add(InvoiceConfirmStatus dto) {
+        // 获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        // 生成id
+        String id = UUID.randomUUID().toString().replace("-", "");
+        // 保存用户确认状态数据
+        InvoiceConfirmStatus detail = new InvoiceConfirmStatus();
+        BeanUtils.copyProperties(dto, detail);
+        detail.setId(id);
+        detail.setCreateById(userDTO.getId());
+        detail.setCreateTime(new Date());
+        detail.setUpdateById(userDTO.getId());
+        detail.setUpdateTime(new Date());
+        detail.setDelFlag(0);
+        detail.setUserId(userDTO.getId());
+        detail.setReimbursementId(dto.getReimbursementId());
+        detail.setInvoiceId(dto.getInvoiceId());
+        detail.setStatus(dto.getStatus());
+        invoiceConfirmStatusMapper.insert(detail);
+        return "操作完成";
+    }
+
+    public String update(InvoiceConfirmStatus dto) {
+        // 获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        // 保存用户确认状态数据
+        InvoiceConfirmStatus detail = new InvoiceConfirmStatus();
+        BeanUtils.copyProperties(dto, detail);
+        detail.setUpdateById(userDTO.getId());
+        detail.setUpdateTime(new Date());
+        detail.setStatus(dto.getStatus());
+        detail.setStatus(dto.getStatus());
+        invoiceConfirmStatusMapper.updateById(detail);
+        return "操作完成";
+    }
+
+    public List<InvoiceConfirmStatus> getListByUser(InvoiceConfirmStatus invoiceConfirmStatus){
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
+        QueryWrapper<InvoiceConfirmStatus> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("reimbursement_id", invoiceConfirmStatus.getReimbursementId());  // 假设你按 invoice_id 查一条记录
+        queryWrapper.eq("user_id", userDTO.getId());  // 假设你按 invoice_id 查一条记录
+        List<InvoiceConfirmStatus> invoiceConfirmStatuses = invoiceConfirmStatusMapper.selectList(queryWrapper);
+        return invoiceConfirmStatuses;
+    }
+}

+ 10 - 0
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/handover/mapper/HandoverMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jeeplus.human.depart.handover.domain.Handover;
 import com.jeeplus.human.depart.handover.domain.HandoverProject;
+import com.jeeplus.sys.domain.WorkAttachmentInfo;
 import com.jeeplus.sys.service.dto.UserDTO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -46,6 +47,15 @@ public interface HandoverMapper extends BaseMapper<Handover> {
      */
     String getUserInfoByUserId(@Param("userId")String userId);
 
+    /**
+     * 根据AttachmentFla 和AttachmentId 查询附件信息
+     * @param id
+     * @param attachmentFlag
+     * @return
+     */
+    List<WorkAttachmentInfo> findListByIdAndAttachmentFlag(@Param("id") String id, @Param("attachmentFlag")String attachmentFlag);
+    @InterceptorIgnore(tenantLine = "true")
+    Integer findIsExit(@Param("id") String id, @Param("name")String name);
 
 }
 

+ 13 - 0
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/handover/mapper/xml/HandoverMapper.xml

@@ -88,4 +88,17 @@
             FROM human_resources_depart_handover_project a where a.handover_id = #{id} and del_flag = 0
     </select>
 
+    <select id="findListByIdAndAttachmentFlag" resultType="com.jeeplus.sys.domain.WorkAttachmentInfo">
+        SELECT * FROM work_attachment WHERE del_flag = 0 AND attachment_id = #{id} and attachment_flag = #{attachmentFlag}
+    </select>
+    <select id="findIsExit" resultType="java.lang.Integer">
+        SELECT
+            COUNT( 0 )
+        FROM
+            work_attachment
+        WHERE
+            del_flag = 0
+          AND attachment_id = #{id}
+          AND attachment_name = #{name}
+    </select>
 </mapper>

+ 112 - 47
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/depart/handover/service/HandoverService.java

@@ -37,6 +37,7 @@ import org.apache.pdfbox.pdmodel.font.PDType0Font;
 import org.apache.pdfbox.pdmodel.graphics.state.RenderingMode;
 import org.apache.pdfbox.util.Matrix;
 import org.apache.poi.xwpf.usermodel.*;
+import org.flowable.editor.language.json.converter.util.CollectionUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.stereotype.Service;
@@ -190,25 +191,7 @@ public class HandoverService extends ServiceImpl<HandoverMapper, Handover> {
         List<WorkAttachmentInfo> workAttachments = reportData.getWorkAttachments();
 
         if (!CollectionUtil.isEmpty(workAttachments)) {
-            List<String> collect = workAttachments.stream().distinct().filter(item -> {
-                if (StringUtils.isNotBlank(item.getId())) {
-                    return true;
-                }
-                return false;
-            }).map(WorkAttachmentInfo::getId).collect(Collectors.toList());
-            if (CollectionUtil.isNotEmpty(workAttachments)) {
-                if(CollectionUtil.isNotEmpty(collect)){
-                    SpringUtil.getBean ( IWorkAttachmentApi.class ).deleteByAttachmentIdNotInIds(reportData.getId(),collect);
-                }
-                workAttachments.stream().forEach(i -> i.setAttachmentId(reportData.getId()));
-                Map<String,String> map = new HashMap<>();
-                map.put("workAttachments",JSON.toJSONString(workAttachments));
-                map.put("currentToken", TokenProvider.getCurrentToken());
-                SpringUtil.getBean ( IWorkAttachmentApi.class ).saveMsg2(map);
-            } else{
-                SpringUtil.getBean ( IWorkAttachmentApi.class ).deleteByAttachmentId(reportData.getId());
-//            ossService.remove(new QueryWrapper<WorkAttachmentInfo>().lambda().eq(WorkAttachmentInfo::getAttachmentId,workClientInfo.getId()));
-            }
+            updateFiles(workAttachments,userDTO,report.getId(),"workClient");
         }
 
         mapper.updateById(report);
@@ -416,6 +399,70 @@ public class HandoverService extends ServiceImpl<HandoverMapper, Handover> {
         return report;
     }
 
+    /**
+     * 修改附件信息
+     * @param list 待修改的附件列表
+     * @param userDTO 当前登录用户
+     * @param id 关联id
+     */
+    public void updateFiles(List<WorkAttachmentInfo> list, UserDTO userDTO, String id, String attachmentFlag) {
+        int j = 1;
+        String names = new String();
+        //表中存在,但是传过来不存在,说明已删除,表中数据也要删除
+        for (WorkAttachmentInfo dto : list) {
+            names = names + "," +dto.getUrl();
+        }
+        //查询保存的附件信息
+        List<WorkAttachmentInfo> infoList = mapper.findListByIdAndAttachmentFlag(id,attachmentFlag);
+        if (CollectionUtils.isNotEmpty(infoList)) {
+            for (WorkAttachmentInfo i : infoList) {
+                if (!names.contains(i.getUrl())) {
+//                    ossServiceMapper.deleteById(i.getId());
+                    SpringUtil.getBean ( IWorkAttachmentApi.class ).deleteById(i.getId());
+                }
+            }
+        }
+        //保存信息
+        for (WorkAttachmentInfo dto : list) {
+            //判断是否存在
+            Integer isExit = mapper.findIsExit(id, dto.getName());
+            if (isExit == 0) {
+                WorkAttachmentInfo i = new WorkAttachmentInfo();
+                //包含了url、size、name
+                i.setId(UUID.randomUUID().toString().replace("-", ""));
+//                i.getCreateBy().setId(userDTO.getId());
+                i.setCreateTime(new Date());
+//                i.getUpdateBy().setId(userDTO.getId());
+                i.setUpdateTime(new Date());
+                i.setDelFlag(0);
+                i.setUrl(dto.getUrl());
+                //文件类型处理
+                String fileName = dto.getName();
+                List<String> strings = Arrays.asList(fileName.split("\\."));
+                // 检查文件名是否有后缀
+                if (CollectionUtil.isNotEmpty(strings) && strings.size() > 1) {
+                    // 获取最后一个部分作为文件类型
+                    i.setType(strings.get(strings.size() - 1));
+                } else {
+                    // 如果没有后缀或文件名无效,设置一个默认类型或空
+                    i.setType("");
+                }
+                i.setAttachmentId(id);
+                i.setAttachmentName(dto.getName());
+                i.setAttachmentFlag(attachmentFlag);
+                i.setFileSize(dto.getSize());
+                i.setSort(j);
+                Map<String,String> map = new HashMap<>();
+                String workAttachment = JSON.toJSONString((i));
+                String userDTOInfo = JSON.toJSONString((userDTO));
+                map.put("workAttachment",workAttachment);
+                map.put("userDTO",userDTOInfo);
+                SpringUtil.getBean ( IWorkAttachmentApi.class ).insertWorkAttachment(map);
+//                ossServiceMapper.insertWorkAttachment(i, userDTO);
+                j++;
+            }
+        }
+    }
 
 
     public String getAssignee(String roleId){
@@ -505,40 +552,58 @@ public class HandoverService extends ServiceImpl<HandoverMapper, Handover> {
         //附件信息处理
         List<WorkAttachmentInfo> workAttachments = reportData.getWorkAttachments();
         if (CollectionUtil.isNotEmpty(workAttachments)) {
-            int j = 1;
-            for (WorkAttachmentInfo i : workAttachments) {
-                i.setId(UUID.randomUUID().toString().replace("-", ""));
-
-                //文件类型处理
-                String fileName = i.getAttachmentName();
-                List<String> strings = Arrays.asList(fileName.split("\\."));
-                // 检查文件名是否有后缀
-                if (CollectionUtil.isNotEmpty(strings) && strings.size() > 1) {
-                    // 获取最后一个部分作为文件类型
-                    i.setType(strings.get(strings.size() - 1));
-                } else {
-                    // 如果没有后缀或文件名无效,设置一个默认类型或空
-                    i.setType("");
-                }
-                i.setDelFlag(0);
-                i.setCreateTime(new Date());
-                i.setUpdateTime(new Date());
-                i.setAttachmentId(reportData.getId());
-                i.setSort(j);
-                Map<String,String> map = new HashMap<>();
-                String workAttachment = JSON.toJSONString((i));
-                String userDTOInfo = JSON.toJSONString((userDTO));
-                map.put("workAttachment",workAttachment);
-                map.put("userDTO",userDTOInfo);
-                SpringUtil.getBean ( IWorkAttachmentApi.class ).insertWorkAttachment(map);
-                j++;
-            }
+            saveFiles(workAttachments,userDTO,report.getId());
         }
 
         return report;
     }
 
     /**
+     * 保存附件信息
+     * @param list 待保存的附件列表
+     * @param userDTO 当前登录用户
+     * @param id 关联id
+     */
+    public void saveFiles(List<WorkAttachmentInfo> list, UserDTO userDTO, String id) {
+        int j = 1;
+        for (WorkAttachmentInfo dto : list) {
+            WorkAttachmentInfo i = new WorkAttachmentInfo();
+            //包含了url、size、name
+            i.setId(UUID.randomUUID().toString().replace("-", ""));
+//            i.getCreateBy().setId(userDTO.getId());
+            i.setCreateTime(new Date());
+//            i.getUpdateBy().setId(userDTO.getId());
+            i.setUpdateTime(new Date());
+            i.setDelFlag(0);
+            i.setUrl(dto.getUrl());
+            //文件类型处理
+            String fileName = dto.getName();
+            List<String> strings = Arrays.asList(fileName.split("\\."));
+            // 检查文件名是否有后缀
+            if (CollectionUtil.isNotEmpty(strings) && strings.size() > 1) {
+                // 获取最后一个部分作为文件类型
+                i.setType(strings.get(strings.size() - 1));
+            } else {
+                // 如果没有后缀或文件名无效,设置一个默认类型或空
+                i.setType("");
+            }
+            i.setAttachmentId(id);
+            i.setAttachmentName(dto.getName());
+            i.setAttachmentFlag("workClient");
+            i.setFileSize(dto.getSize());
+            i.setSort(j);
+//            ossServiceMapper.insertWorkAttachment(i, userDTO);
+            Map<String,String> map = new HashMap<>();
+            String workAttachment = JSON.toJSONString((i));
+            String userDTOInfo = JSON.toJSONString((userDTO));
+            map.put("workAttachment",workAttachment);
+            map.put("userDTO",userDTOInfo);
+            SpringUtil.getBean ( IWorkAttachmentApi.class ).insertWorkAttachment(map);
+            j++;
+        }
+    }
+
+    /**
      * 上传离职证明文件
      * @param wordPath
      * @param report