user5 hace 1 año
padre
commit
e77c4aeac7
Se han modificado 13 ficheros con 345 adiciones y 3 borrados
  1. 1 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/mapper/xml/CwFinanceInvoiceMapper.xml
  2. 1 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/service/CwFinanceInvoiceService.java
  3. 1 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/service/dto/CwProjectRecordsDTO.java
  4. 24 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportController.java
  5. 3 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReport.java
  6. 24 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportMapper.java
  7. 32 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportMapper.xml
  8. 101 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportService.java
  9. 130 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/dto/CwProjectReportDTO.java
  10. 2 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/mapper/CwProjectReportArchiveMapper.java
  11. 4 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/mapper/xml/CwProjectReportArchiveMapper.xml
  12. 16 0
      jeeplus-modules/jeeplus-flowable/src/main/java/com/jeeplus/modules/flowable/listener/MyExecutionListener.java
  13. 6 3
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/OfficeService.java

+ 1 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/mapper/xml/CwFinanceInvoiceMapper.xml

@@ -268,6 +268,7 @@
 
     <select id="queryById" resultMap="BaseResultMap">
         select
+        DISTINCT
         <include refid="Base_Column_List"></include>,
         su.name as reconciliationPeopleName,
         rpl.report_no,

+ 1 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/service/CwFinanceInvoiceService.java

@@ -101,6 +101,7 @@ public class CwFinanceInvoiceService extends ServiceImpl<CwFinanceInvoiceMapper,
     public IPage<CwFinanceInvoiceDTO> findList(Page<CwFinanceInvoiceDTO> page, CwFinanceInvoiceDTO cwFinanceInvoiceDTO) throws Exception{
         QueryWrapper<CwFinanceInvoice> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( CwFinanceInvoiceWrapper.INSTANCE.toEntity(cwFinanceInvoiceDTO), CwFinanceInvoice.class );
         queryWrapper.eq("fi.del_flag","0");
+        queryWrapper.eq("a.del_flag","0");
         ArrayList<String> searchIdList = new ArrayList<>();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         AtomicInteger checkNum = new AtomicInteger();

+ 1 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/service/dto/CwProjectRecordsDTO.java

@@ -53,6 +53,7 @@ public class CwProjectRecordsDTO extends BaseDTO {
     /**
      * 项目金额
      */
+    @Excel(name = "项目规模",width = 25,orderNum = "2")
     private String projectMoney;
 
     /**

+ 24 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportController.java

@@ -18,6 +18,7 @@ import com.jeeplus.finance.projectReport.domain.CwProjectReportData;
 import com.jeeplus.finance.projectReport.domain.CwProjectReportSignature;
 import com.jeeplus.finance.projectReport.mapper.ProjectReportWorkAttachmentMapper;
 import com.jeeplus.finance.projectReport.service.CwProjectReportService;
+import com.jeeplus.finance.projectReport.service.dto.CwProjectReportDTO;
 import com.jeeplus.finance.projectReport.service.dto.CwProjectReportSignatureDTO;
 import com.jeeplus.finance.workClientInfo.service.dto.CwWorkClientBaseDTO;
 import com.jeeplus.flowable.feign.IFlowableApi;
@@ -41,6 +42,7 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
@@ -48,6 +50,7 @@ import javax.validation.Valid;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
@@ -122,6 +125,7 @@ public class CwProjectReportController {
                 //根据项目经理id去人员表重查数据
                 if (StringUtils.isNotBlank(i.getProjectMasterId())){
                     UserDTO byId = SpringUtil.getBean(IUserApi.class).getById(i.getProjectMasterId());
+                    if(null != byId)
                     i.setProjectMasterName(byId.getName());
                 }
             }
@@ -129,6 +133,7 @@ public class CwProjectReportController {
                 //根据项目经理id去人员表重查数据
                 if (StringUtils.isNotBlank(i.getProjectMasterId2())){
                     UserDTO byId = SpringUtil.getBean(IUserApi.class).getById(i.getProjectMasterId2());
+                    if(null != byId)
                     i.setRealHeaderName(byId.getName());
                 }
 
@@ -571,4 +576,23 @@ public class CwProjectReportController {
         projectReportService.rebackSign(reportId);
         return ResponseEntity.ok("操作成功");
     }
+
+    /**
+     * 数据导入(临时)
+     * @param file
+     * @param response
+     * @return
+     * @throws IOException
+     */
+    @GetMapping("/importExcel")
+    @ApiOperation(value = "事务所审计清单表导入")
+    public ResponseEntity importExcel(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletResponse response) throws IOException {
+        ArrayList<CwProjectReportDTO> arrayList = new ArrayList<>();
+        HashMap<String,String> hashMap = new HashMap<>();
+        List<CwProjectReportDTO> listA = new ArrayList<>();
+        listA=EasyPoiUtil.importExcel(file, 0, 2, CwProjectReportDTO.class);
+        projectReportService.importDecide(listA);
+        return ResponseEntity.ok(arrayList);
+    }
+
 }

+ 3 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReport.java

@@ -1,5 +1,6 @@
 package com.jeeplus.finance.projectReport.domain;
 
+import cn.afterturn.easypoi.excel.annotation.Excel;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -128,6 +129,7 @@ public class CwProjectReport extends BaseEntity {
     /**
      * 审计收费(元)
      */
+    @Excel(name = "审计收费", width = 25)
     private String auditFees;
 
     /**
@@ -188,6 +190,7 @@ public class CwProjectReport extends BaseEntity {
      * 报告文号
      */
     @TableField(exist = false)
+    @Excel(name = "报告文号")
     private String reportNo;
 
     /**

+ 24 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportMapper.java

@@ -169,6 +169,14 @@ public interface CwProjectReportMapper extends BaseMapper<CwProjectReport> {
     String getOfficeId(String name);
 
     /**
+     * 根据部门名称查询和部门相关的部门id
+     * (该部门和该部门子部门id)
+     * @param name
+     * @return
+     */
+    String getCorrelationOfficeIdByName(String name);
+
+    /**
      * 根据id修改报告的盖章类型
      * @param cwProjectReportData
      */
@@ -200,4 +208,20 @@ public interface CwProjectReportMapper extends BaseMapper<CwProjectReport> {
 
     @InterceptorIgnore(tenantLine = "true")
     CwProjectReport getById(@Param("id") String id);
+
+    /**
+     * 数据导入(临时)
+     * @param reportNo
+     * @return
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    CwProjectReport getReportByReportNo(@Param("reportNo") String reportNo);
+
+    /**
+     * 数据导入(临时)
+     * @param reportNoList
+     * @return
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    List<CwProjectReport> getReportInfoByNoList(@Param("reportNoList") List<String> reportNoList);
 }

+ 32 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportMapper.xml

@@ -615,6 +615,9 @@
     <select id="getOfficeId" resultType="java.lang.String">
         select id from sys_office where name = #{name}
     </select>
+    <select id="getCorrelationOfficeIdByName" resultType="java.lang.String">
+        select group_concat(id) from sys_office where id =(select id from sys_office where name = #{name}) or parent_ids like concat('%',(select id from sys_office where name = #{name}),'%')
+    </select>
 
     <update id="updateSignatureTypeById">
         update cw_project_report set
@@ -749,4 +752,33 @@
             id = #{id}
             AND del_flag = 0
     </select>
+
+    <select id="getReportByReportNo" resultType="com.jeeplus.finance.projectReport.domain.CwProjectReport">
+        select
+            cpr.*
+        from
+            cw_project_report cpr
+        left join
+            cw_project_report_new_line cw_prnl on cpr.id=cw_prnl.report_id
+        where
+            cw_prnl.report_no=#{reportNo}
+    </select>
+
+    <select id="getReportInfoByNoList" resultType="com.jeeplus.finance.projectReport.domain.CwProjectReport">
+        select
+            cpr.*,cw_prnl.report_no as "reportNo"
+        from
+            cw_project_report cpr
+        left join
+            cw_project_report_new_line cw_prnl on cpr.id=cw_prnl.report_id
+        <where>
+            <if test="reportNoList != null">
+                AND cw_prnl.report_no IN
+                <foreach collection="reportNoList" item="item" index="index" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
+
+    </select>
 </mapper>

+ 101 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportService.java

@@ -3139,4 +3139,105 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
     public CwProjectReport getCwProjectReportById(String id){
         return reportMapper.getById(id);
     }
+
+
+    /**
+     * 数据导入(处理项目的项目规模和报告的审计收费)
+     * @param listA
+     * @return
+     */
+    public String importDecide(List<CwProjectReportDTO> listA) {
+        List<String> projectNoList = Lists.newArrayList();
+        //遍历获取所有报告号信息
+        for (CwProjectReportDTO cwProjectReport : listA) {
+            projectNoList.add(cwProjectReport.getReportNo());
+        }
+        List<CwProjectReport> reportInfoByNoList = Lists.newArrayList();
+        if(projectNoList.size()>0){
+            //数据库查询报告号信息,将存在的报告号信息进行筛选出来
+            reportInfoByNoList = reportMapper.getReportInfoByNoList(projectNoList);
+
+        }
+        //数据循环遍历对有效数据进行修改审计收费
+        for (CwProjectReportDTO dto : listA) {
+            for (CwProjectReport reportByReportNo: reportInfoByNoList) {
+                if (ObjectUtil.isNotEmpty(reportByReportNo) && dto.getReportNo().equals(reportByReportNo.getReportNo())){
+                    if (StringUtils.isNotEmpty(dto.getAuditFees())){
+                        try {
+                            CwProjectReportArchive cwProjectReportArchive = new CwProjectReportArchive();
+                            cwProjectReportArchive.setReportId(reportByReportNo.getId());
+                            float v = Float.parseFloat(dto.getAuditFees());
+                            String result = Float.toString(v * 10000);
+                            cwProjectReportArchive.setAuditMoney(result);
+                            cwProjectReportArchiveMapper.updateAuditMoneyByReportId(cwProjectReportArchive);
+                        }catch (Exception e){
+
+                        }
+                    }else {
+                        continue;
+                    }
+                    //修改项目规模
+                    if (StringUtils.isNotEmpty(dto.getAuditFees())){
+                        try {
+                            CwProjectRecords projectRecords = new CwProjectRecords();
+                            projectRecords.setId(reportByReportNo.getProjectId());
+                            float v = Float.parseFloat(dto.getProjectMoney());
+                            String result = Float.toString(v * 10000);
+                            projectRecords.setProjectMoney(result);
+                            cwProjectRecordsService.updateById(projectRecords);
+                        }catch (Exception e){
+
+                        }
+                    }else {
+                        continue;
+                    }
+
+                }else {
+                    continue;
+                }
+            }
+        }
+
+
+        /*for (CwProjectReport dto : listA) {
+            CwProjectReport reportByReportNo = reportMapper.getReportByReportNo(dto.getReportNo());
+            if (ObjectUtil.isNotEmpty(reportByReportNo)){
+                CwProjectRecords records = cwProjectRecordsService.getById(reportByReportNo.getProjectId());
+                if (StringUtils.isNotEmpty(dto.getSignatureAnnotator1Name())){
+                    UserDTO name = SpringUtil.getBean(IUserApi.class).getByLoginNameNotTenantId(dto.getSignatureAnnotator1Name());
+                    reportByReportNo.setSignatureAnnotator1(name.getId());
+                    records.setProjectMasterId(name.getId());
+                    cwProjectRecordsService.updateById(records);
+                }else {
+                    continue;
+                }
+                if (StringUtils.isNotEmpty(dto.getSignatureAnnotator2Name())){
+                    UserDTO name1 = SpringUtil.getBean(IUserApi.class).getByLoginNameNotTenantId(dto.getSignatureAnnotator2Name());
+                    reportByReportNo.setSignatureAnnotator2(name1.getId());
+                    records.setProjectLeaderId(name1.getId());
+                    cwProjectRecordsService.updateById(records);
+                }else {
+                    continue;
+                }
+                if (StringUtils.isNotEmpty(dto.getAuditFees())){
+                    try {
+                        float v = Float.parseFloat(dto.getAuditFees());
+                        String result = Float.toString(v * 10000);
+                        reportByReportNo.setAuditFees(result);
+                    }catch (Exception e){
+
+                    }
+                }else {
+                    continue;
+                }
+            }else {
+                continue;
+            }
+            reportMapper.updateById(reportByReportNo);
+
+        }*/
+        return "修改成功";
+
+    }
+
 }

+ 130 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/dto/CwProjectReportDTO.java

@@ -1,8 +1,12 @@
 package com.jeeplus.finance.projectReport.service.dto;
 
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.jeeplus.core.query.Query;
 import com.jeeplus.core.query.QueryType;
 import com.jeeplus.core.service.dto.BaseDTO;
+import com.jeeplus.sys.domain.WorkAttachmentInfo;
 import com.jeeplus.sys.service.dto.OfficeDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
 import lombok.Data;
@@ -87,4 +91,130 @@ public class CwProjectReportDTO extends BaseDTO {
      * 报告实际制作人
      */
     private String realCreate;
+
+    /**
+     * 审计收费(元)
+     */
+    @Excel(name = "审计收费(万元)", width = 25)
+    private String auditFees;
+
+    /**
+     * 项目规模
+     */
+    @Excel(name = "项目规模", width = 25)
+    private String projectMoney;
+
+    /**
+     * 被服务单位名称
+     */
+    @TableField(exist = false)
+    private String servedUnitName;
+
+    /**
+     * 报告日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date reportDate;
+
+    /**
+     * 报告类型
+     */
+    @TableField(exist = false)
+    private String reportType;
+
+    /**
+     * 意见类型
+     */
+    @TableField(exist = false)
+    private String opinionType;
+
+    /**
+     * 盖章状态
+     */
+    @TableField(exist = false)
+    private String sealType;
+
+    /**
+     * 附件信息
+     */
+    @TableField(exist = false)
+    List<ProjectReportWorkAttachmentDTO> cwFileInfoList;
+
+    /**
+     * 附件信息2
+     */
+    @TableField(exist = false)
+    List<WorkAttachmentInfo> cwFileInfoList2;
+
+    /**
+     * 被服务单位id
+     */
+    @TableField(exist = false)
+    private String servedUnitId;
+
+    /**
+     * 报告流水号
+     */
+    @TableField(exist = false)
+    private String reportNumber;
+    /**
+     * 报告文号
+     */
+    @TableField(exist = false)
+    @Excel(name = "报告文号")
+    private String reportNo;
+
+    /**
+     * 所属部门
+     */
+    @TableField(exist = false)
+    private String officeName;
+
+    /**
+     *业务类型
+     */
+    private String businessType;
+
+    /**
+     *审计业务类型
+     */
+    private String auditBusinessType;
+
+    /**
+     *公司注册地址
+     */
+    private String registerAddress;
+
+    /**
+     *业务所在地
+     */
+    private String businessLocation;
+
+    /**
+     *是否数据证券业务
+     */
+    private String securityBusiness;
+
+    /**
+     * 签字注师1名称
+     */
+    @TableField(exist = false)
+    private String signatureAnnotator1Name;
+
+    /**
+     * 签字注师2名称
+     */
+    @TableField(exist = false)
+    private String signatureAnnotator2Name;
+
+    /**
+     * 所属行业
+     */
+    private String industry;
+
+    /**
+     * 业务对象
+     */
+    private String businessObjects;
 }

+ 2 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/mapper/CwProjectReportArchiveMapper.java

@@ -47,6 +47,8 @@ public interface CwProjectReportArchiveMapper extends BaseMapper<CwProjectReport
      */
     @InterceptorIgnore(tenantLine = "true")
     void updateInfoById(CwProjectReportArchive cwProjectReportArchive);
+
+    void updateAuditMoneyByReportId(CwProjectReportArchive cwProjectReportArchive);
 }
 
 

+ 4 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReportArchive/mapper/xml/CwProjectReportArchiveMapper.xml

@@ -438,4 +438,8 @@
     <update id="updateBorrowTypeById">
         UPDATE cw_project_report_archive SET `borrow_type` = #{status} WHERE del_flag = 0 AND id = #{id}
     </update>
+
+    <update id="updateAuditMoneyByReportId">
+        UPDATE cw_project_report_archive SET `audit_money` = #{auditMoney} WHERE del_flag = 0 AND report_id = #{reportId}
+    </update>
 </mapper>

+ 16 - 0
jeeplus-modules/jeeplus-flowable/src/main/java/com/jeeplus/modules/flowable/listener/MyExecutionListener.java

@@ -7,6 +7,7 @@ import com.jeeplus.flowable.model.Flow;
 import com.jeeplus.flowable.service.FlowTaskService;
 import com.jeeplus.flowable.service.MyNoticeService;
 import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.OfficeDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
 import lombok.SneakyThrows;
 import org.flowable.engine.RuntimeService;
@@ -68,6 +69,21 @@ public class MyExecutionListener implements ExecutionListener {
 
                 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
+                if(actName.equals("会计-报告签章-电子公章")){
+                    UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getById(flow.getAssigneeId());
+                    OfficeDTO officeDTO = userDTO.getOfficeDTO();
+                    //如果是苏州分部发送的签章申请,则会给徐珊发送通知
+                    if(null != officeDTO && "苏州分部".equals(officeDTO.getName())){
+                        //获取角色为“苏州报告签字盖章代办”的角色对应人员信息
+                        List<UserDTO> userDTOList = SpringUtil.getBean(IUserApi.class).getUserInfoByEnName("szbgqzgzdb");
+                        for (UserDTO dto : userDTOList) {
+                            SpringUtil.getBean(MyNoticeService.class).add(task.getProcInstId(),titleName,task.getProcDefId(),actName,
+                                    flow.getAssigneeName(),format.format(flow.getHistIns().getEndTime()),
+                                    dto.getName(),dto.getId(),userDTO.getId());
+                        }
+                    }
+                }
+
                 UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
 
                 SpringUtil.getBean(MyNoticeService.class).add(task.getProcInstId(),titleName,task.getProcDefId(),actName,

+ 6 - 3
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/OfficeService.java

@@ -69,9 +69,12 @@ public class OfficeService extends TreeService <OfficeMapper, Office> {
         //根据当前人的所属部门去查相关数据
         UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
         queryWrapper.like ( StringUtils.isNotBlank ( parentId ), "a.parent_ids", "," + parentId + "," );
-        queryWrapper.eq ( StringUtils.isNotBlank ( tenantId ), "a.tenant_id", tenantId );
+
         queryWrapper.eq ( "a.del_flag", 0 );
-        if (StringUtils.isNotBlank(userDTO.getCompanyDTO().getName())){
+        if(!"10000".equals(userDTO.getTenantDTO().getId()) && !"10002".equals(userDTO.getTenantDTO().getId())){
+            queryWrapper.eq ( StringUtils.isNotBlank ( userDTO.getTenantDTO().getId() ), "a.tenant_id", userDTO.getTenantDTO().getId() );
+        }
+        /*if (StringUtils.isNotBlank(userDTO.getCompanyDTO().getName())){
             if (userDTO.getCompanyDTO().getName().contains("评估")) {
                 queryWrapper.like ( "a.name", "%评估%" );
             }else if (userDTO.getCompanyDTO().getName().contains("会计")){
@@ -80,7 +83,7 @@ public class OfficeService extends TreeService <OfficeMapper, Office> {
                 ids.add(userDTO.getCompanyDTO().getId());
                 queryWrapper.in ( "a.id", ids );
             }
-        }
+        }*/
 
         queryWrapper.orderByAsc ( "a.sort" );
         return baseMapper.findList ( queryWrapper );