瀏覽代碼

发票功能调整

sangwenwei 1 年之前
父節點
當前提交
191d5d64e2
共有 12 個文件被更改,包括 125 次插入52 次删除
  1. 1 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/domain/CwFinanceInvoiceBase.java
  2. 10 22
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/mapper/xml/CwFinanceInvoiceMapper.xml
  3. 23 21
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/service/CwFinanceInvoiceService.java
  4. 1 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/service/dto/CwFinanceInvoiceDTO.java
  5. 9 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectBusinessType/domain/CwProjectBusinessType.java
  6. 6 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectBusinessType/mapper/CwProjectBusinessTypeMapper.java
  7. 24 1
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectBusinessType/mapper/xml/CwManageLevelTypeMapper.xml
  8. 29 1
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectBusinessType/service/CwProjectBusinessTypeService.java
  9. 9 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectBusinessType/service/dto/CwProjectBusinessTypeDTO.java
  10. 3 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/domain/CwProjectRecords.java
  11. 3 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/CwProjectClientContactMapper.java
  12. 7 7
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/service/CwProjectRecordsService.java

+ 1 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/domain/CwFinanceInvoiceBase.java

@@ -50,5 +50,6 @@ public class CwFinanceInvoiceBase extends BaseEntity {
     private String account;
 
 
+
     private static final long serialVersionUID = 1L;
 }

+ 10 - 22
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/mapper/xml/CwFinanceInvoiceMapper.xml

@@ -150,8 +150,7 @@
         fi.invalid_status,
         fi.receivables_date,
         fi.is_multiple,
-        fi.billing_id,
-        fi.report_type
+        fi.billing_id
     </sql>
 
     <sql id="File_Column_List">
@@ -228,35 +227,24 @@
         where fib.del_flag = '0' and fib.invoice_id = ${id}
     </select>
     <select id="findList" resultMap="BaseResultMap">
-        SELECT
-        distinct
+        SELECT DISTINCT
         <include refid="Base_Column_List"></include>,
         fib.program_id,
         su.name as operator,
         so.name as operator_office,
-        d.ID_ AS task_id,
-        (select
-        CASE
-        WHEN RIGHT( GROUP_CONCAT(case when program_id is null then 2 else 1 end),1) =2 THEN '其他:'
-        WHEN RIGHT( GROUP_CONCAT(case when program_id is null then 2 else 1 end),1) =1 THEN rpr1.project_name
-        ELSE '' END
-        FROM cw_finance_invoice_base wipr1
-        LEFT JOIN cw_project_records rpr1 ON wipr1.program_id = rpr1.id
-        WHERE wipr1.invoice_id = fi.id) as programName,
+        fib.program_name,
         cfid.number as "number",
         cfid.account as "accountDetail",
-        pr.report_type as "recordReportType"
-        FROM cw_finance_invoice_base fib
-        LEFT JOIN cw_project_records pr on fib.program_id=pr.id
-        LEFT JOIN cw_finance_invoice fi on  fib.invoice_id=fi.id
-        left join cw_finance_invoice_detail cfid on cfid.invoice_id = fi.id and cfid.del_flag = '0'
+        pr.report_type as "recordReportType",
+        sdv.label
+        from cw_project_records pr
+		LEFT JOIN cw_finance_invoice_base fib on fib.program_id=pr.id
+		LEFT JOIN cw_finance_invoice fi on  fib.invoice_id=fi.id
+		left join cw_finance_invoice_detail cfid on cfid.invoice_id = fi.id and cfid.del_flag = '0'
         left join sys_user su on fi.create_by_id = su.id and su.del_flag = '0'
         left join sys_user_manage_office sumo on sumo.office_id = su.office_id
         left join sys_office so on su.office_id = so.id and so.del_flag = '0'
-        LEFT JOIN act_ru_task d ON fi.proc_ins_id = d.PROC_INST_ID_
-        ${ew.customSqlSegment}
-        ORDER BY
-        fi.create_time DESC, cfid.number asc
+        left join sys_dict_value sdv on pr.report_type=sdv.value
     </select>
 
     <select id="queryById" resultMap="BaseResultMap">

+ 23 - 21
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/invoice/service/CwFinanceInvoiceService.java

@@ -36,6 +36,7 @@ import com.jeeplus.sys.feign.IWorkAttachmentApi;
 import com.jeeplus.sys.service.dto.RoleDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
 //import com.jeeplus.sys.utils.UserUtils;
+import com.jeeplus.sys.utils.UserUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
@@ -237,6 +238,10 @@ public class CwFinanceInvoiceService extends ServiceImpl<CwFinanceInvoiceMapper,
             if (StringUtils.isNotBlank(cwFinanceInvoiceDTO.getOperator())){
                 queryWrapper.like("su.name", cwFinanceInvoiceDTO.getOperator());
             }
+            //报备类型
+            if (StringUtils.isNotBlank(cwFinanceInvoiceDTO.getReportType())){
+                queryWrapper.like("fi.report_type",cwFinanceInvoiceDTO.getReportType());
+            }
             // 对账人
             if (StringUtils.isNotBlank(cwFinanceInvoiceDTO.getReconciliationPeopleName())) {
                 List<User> users = SpringUtil.getBean ( IUserApi.class ).selectListByName(cwFinanceInvoiceDTO.getReconciliationPeopleName());
@@ -273,27 +278,28 @@ public class CwFinanceInvoiceService extends ServiceImpl<CwFinanceInvoiceMapper,
         // 如果当前用户是部门主任,则可以查看部门所有的项目、自己创建的项目以及所属项目组的项目
         // 如果当前用户是员工,则可以查看自己创建的项目以及所属项目组的项目
         StringBuilder officeIds = new StringBuilder();
+        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken());
 //        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken());
         List<String> manageOfficeIdList= Lists.newArrayList();
         //判定是否为会计所长
-        /*if(CommonUtils.haveRoleKjsz()){
-            //获取当前人管理的部门id
-            if(StringUtils.isNotBlank(userDTO.getManageOfficeIds())){
-                manageOfficeIdList = Arrays.asList(userDTO.getManageOfficeIds().split(","));
-            }else{
-                manageOfficeIdList.add(userDTO.getOfficeDTO().getId());
-            }
-            for (int i = 0; i <manageOfficeIdList.size(); i++){
-                officeIds.append("'").append(manageOfficeIdList.get(i)).append("'");
-                if(i < manageOfficeIdList.size()-1){
-                    officeIds.append(",");
-                }
-            }
-        }*/
+//        if(CommonUtils.haveRoleKjsz()){
+//            //获取当前人管理的部门id
+//            if(StringUtils.isNotBlank(userDTO.getManageOfficeIds())){
+//                manageOfficeIdList = Arrays.asList(userDTO.getManageOfficeIds().split(","));
+//            }else{
+//                manageOfficeIdList.add(userDTO.getOfficeDTO().getId());
+//            }
+//            for (int i = 0; i <manageOfficeIdList.size(); i++){
+//                officeIds.append("'").append(manageOfficeIdList.get(i)).append("'");
+//                if(i < manageOfficeIdList.size()-1){
+//                    officeIds.append(",");
+//                }
+//            }
+//        }
 
 
-        /*//获取当前登录人信息
-        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
+        //获取当前登录人信息
+//        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
         //获取当前登录人所属角色
         //若是评估部门主任,则仅展示部门主任信息
         //若是评估员工,则仅展示自己的数据信息
@@ -311,11 +317,7 @@ public class CwFinanceInvoiceService extends ServiceImpl<CwFinanceInvoiceMapper,
                 queryWrapper.eq("d.office_id", "1613800824395530242");
                 break;
             }
-        }*/
-//        cwFinanceInvoiceMapper.selectList(new QueryWrapper<CwFinanceInvoice>().inSql("sdv.dict_type_id","SELECT id FROM `sys_dict_type` WHERE type='cw_work_client_report_type'"));
-//            queryWrapper.select("SELECT id FROM `sys_dict_type` WHERE type='cw_work_client_report_type'");
-
-
+        }
         return cwFinanceInvoiceMapper.findList(page,queryWrapper,officeIds.toString());
     }
 

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

@@ -327,5 +327,6 @@ public class CwFinanceInvoiceDTO extends BaseDTO {
     private String recordReportType;
 
 
+
     private static final long serialVersionUID = 1L;
 }

+ 9 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectBusinessType/domain/CwProjectBusinessType.java

@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.jeeplus.core.domain.BaseEntity;
 import lombok.Data;
 
+import javax.validation.constraints.Size;
+
 /**
  * 财务-项目管理-业务类型管理
  * @TableName cw_project_business_type
@@ -42,5 +44,12 @@ public class CwProjectBusinessType extends BaseEntity {
      */
     private String parentIds;
 
+    @Size(min = 1, max = 1)
+    private String isShow;
+    /**
+     * 排序号
+     * */
+    private Integer sortMark;
+
     private static final long serialVersionUID = 1L;
 }

+ 6 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectBusinessType/mapper/CwProjectBusinessTypeMapper.java

@@ -11,6 +11,7 @@ import com.jeeplus.finance.projectBusinessType.service.dto.CwProjectBusinessType
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Mapper
@@ -23,6 +24,11 @@ public interface CwProjectBusinessTypeMapper extends BaseMapper<CwProjectBusines
 
     public List<CwProjectBusinessTypeDTO> getList();
 
+    //是否显示下边的子集修改
+    void updateIsShowByIds(@Param("ids") List<String> ids, @Param("isShow") String isShow);
+
+    //查询子集数据
+    List<CwProjectBusinessType> selectByParentIds(@Param("ids") List<String> ids);
 }
 
 

+ 24 - 1
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectBusinessType/mapper/xml/CwManageLevelTypeMapper.xml

@@ -30,7 +30,9 @@
         cw_pbt.name,
         cw_pbt.parent_id,
         cw_pbt.level,
-        cw_pbt.sort
+        cw_pbt.sort,
+        cw_pbt.is_show,
+        cw_pbt.sort_mark
     </sql>
 
     <select id="findList" resultMap="BaseResultMap">
@@ -76,4 +78,25 @@
         from cw_project_business_type cw_pbt
         where cw_pbt.del_flag = '0' and cw_pbt.parent_id = ${id}
     </select>
+
+    <update id="updateIsShowByIds" parameterType="java.util.List">
+        UPDATE cw_project_business_type
+        SET is_show = #{isShow}
+        WHERE id IN
+        <foreach collection="ids" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+
+    <select id="selectByParentIds"
+            resultType="com.jeeplus.finance.projectBusinessType.domain.CwProjectBusinessType">
+        SELECT *
+        FROM cw_project_business_type
+        WHERE parent_id IN
+        <foreach collection="ids" item="id" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+
+    </select>
 </mapper>

+ 29 - 1
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectBusinessType/service/CwProjectBusinessTypeService.java

@@ -2,6 +2,7 @@ package com.jeeplus.finance.projectBusinessType.service;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -17,6 +18,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -28,7 +30,8 @@ public class CwProjectBusinessTypeService extends ServiceImpl<CwProjectBusinessT
     private CwProjectBusinessTypeMapper cwProjectBusinessTypeMapper;
 
     public IPage<CwProjectBusinessTypeDTO> findList(Page<CwProjectBusinessTypeDTO> page, QueryWrapper<CwProjectBusinessType> queryWrapper){
-        queryWrapper.eq("cw_pbt.del_flag","0").orderByAsc("cw_pbt.sort");
+        queryWrapper.eq("cw_pbt.del_flag","0").orderByAsc("cw_pbt.sort_mark");
+        IPage<CwProjectBusinessTypeDTO> list = cwProjectBusinessTypeMapper.findList(page, queryWrapper);
         return cwProjectBusinessTypeMapper.findList(page,queryWrapper);
     }
 
@@ -46,17 +49,21 @@ public class CwProjectBusinessTypeService extends ServiceImpl<CwProjectBusinessT
 
     public ResponseEntity saveType(CwProjectBusinessTypeDTO cwProjectBusinessTypeDTO) {
         CwProjectBusinessType cwProjectBusinessType = CwProjectBusinessTypeWrapper.INSTANCE.toEntity(cwProjectBusinessTypeDTO);
+        cwProjectBusinessType.setIsShow(cwProjectBusinessTypeDTO.getIsShow());
+        cwProjectBusinessType.setSortMark(cwProjectBusinessTypeDTO.getSortMark());
         if (ObjectUtil.isNotEmpty(cwProjectBusinessTypeDTO)) {
             if (StringUtils.isBlank(cwProjectBusinessTypeDTO.getId())) {
                 if (StringUtils.isNotBlank(cwProjectBusinessTypeDTO.getParentId())){
                     if ("0".equals(cwProjectBusinessTypeDTO.getParentId())){
                         cwProjectBusinessType.setLevel(1);
+                        cwProjectBusinessType.setIsShow("1");
                         cwProjectBusinessType.setParentIds("0,");
                     }else{
                         CwProjectBusinessType byId = this.getById(cwProjectBusinessTypeDTO.getParentId());
                         CwProjectBusinessTypeDTO pbt = CwProjectBusinessTypeWrapper.INSTANCE.toDTO(byId);
                         if(ObjectUtil.isNotEmpty(pbt)){
                             cwProjectBusinessType.setLevel(pbt.getLevel()+1);
+                            cwProjectBusinessType.setIsShow("1");
                             cwProjectBusinessType.setParentIds(pbt.getParentIds()+pbt.getId()+",");
                         }
                     }
@@ -64,6 +71,27 @@ public class CwProjectBusinessTypeService extends ServiceImpl<CwProjectBusinessT
             }
         }
         this.saveOrUpdate(cwProjectBusinessType);
+        //查询数据下边是否有子集
+        LambdaQueryWrapper<CwProjectBusinessType> cl2 = new LambdaQueryWrapper<>();
+        cl2.eq(CwProjectBusinessType::getParentId,cwProjectBusinessType.getId());
+        List<CwProjectBusinessType> cwProjectBusinessTypes = cwProjectBusinessTypeMapper.selectList(cl2);
+        ArrayList<String> list = new ArrayList<>();
+        if (ObjectUtil.isAllEmpty(cwProjectBusinessTypes)){
+            return ResponseEntity.ok("保存成功");
+        }else {
+            for (CwProjectBusinessType projectBusinessType : cwProjectBusinessTypes) {
+                list.add(projectBusinessType.getId());
+            }
+            List<CwProjectBusinessType>list1= cwProjectBusinessTypeMapper.selectByParentIds(list);
+            if (ObjectUtil.isAllEmpty(list1)){
+                cwProjectBusinessTypeMapper.updateIsShowByIds(list,cwProjectBusinessType.getIsShow());
+            }else {
+                for (CwProjectBusinessType projectBusinessType : list1) {
+                    list.add(projectBusinessType.getId());
+                }
+                cwProjectBusinessTypeMapper.updateIsShowByIds(list,cwProjectBusinessType.getIsShow());
+            }
+        }
         return ResponseEntity.ok("保存成功");
     }
 

+ 9 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectBusinessType/service/dto/CwProjectBusinessTypeDTO.java

@@ -3,6 +3,7 @@ package com.jeeplus.finance.projectBusinessType.service.dto;
 import com.jeeplus.core.service.dto.BaseDTO;
 import lombok.Data;
 
+import javax.validation.constraints.Size;
 import java.util.List;
 
 /**
@@ -42,10 +43,18 @@ public class CwProjectBusinessTypeDTO extends BaseDTO {
      */
     private String parentIds;
 
+    @Size(min = 1, max = 1)
+    private String isShow;
+
     /**
      * 子集合
      */
     private List<CwProjectBusinessTypeDTO> childrenList;
 
+    /**
+     * 排序号
+     * */
+    private Integer sortMark;
+
     private static final long serialVersionUID = 1L;
 }

+ 3 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/domain/CwProjectRecords.java

@@ -113,4 +113,7 @@ public class CwProjectRecords extends BaseEntity {
      */
     private String reportReview;
 
+
+
+
 }

+ 3 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/mapper/CwProjectClientContactMapper.java

@@ -1,7 +1,9 @@
 package com.jeeplus.finance.projectRecords.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.jeeplus.finance.projectRecords.domain.CwProjectClientContact;
+import com.jeeplus.finance.projectRecords.service.dto.CwProjectRecordsDTO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -10,6 +12,7 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface CwProjectClientContactMapper extends BaseMapper<CwProjectClientContact> {
 
+
 }
 
 

+ 7 - 7
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectRecords/service/CwProjectRecordsService.java

@@ -29,18 +29,12 @@ import com.jeeplus.finance.projectRecords.service.dto.CwProjectRecordsDTO;
 import com.jeeplus.finance.projectRecords.service.mapstruct.CwProjectClientContactWrapper;
 import com.jeeplus.finance.projectRecords.service.mapstruct.CwProjectMembersWrapper;
 import com.jeeplus.finance.projectRecords.service.mapstruct.CwProjectRecordsWrapper;
-import com.jeeplus.finance.projectReport.domain.CwProjectReportData;
 import com.jeeplus.finance.workClientInfo.domain.CwWorkClientContact;
 import com.jeeplus.finance.workClientInfo.service.CwWorkClientContactService;
 import com.jeeplus.finance.workClientInfo.service.dto.CwWorkClientBaseDTO;
-//import com.jeeplus.pubmodules.oss.service.OssService;
-//import com.jeeplus.pubmodules.serialNumTpl.service.SerialnumTplService;
 import com.jeeplus.sys.domain.User;
-import com.jeeplus.sys.feign.IRoleApi;
 import com.jeeplus.sys.feign.IUserApi;
 import com.jeeplus.sys.feign.IWorkAttachmentApi;
-//import com.jeeplus.sys.mapper.UserMapper;
-import com.jeeplus.sys.service.dto.RoleDTO;
 import com.jeeplus.sys.service.dto.UserDTO;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.http.ResponseEntity;
@@ -51,6 +45,10 @@ import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
 
+//import com.jeeplus.pubmodules.oss.service.OssService;
+//import com.jeeplus.pubmodules.serialNumTpl.service.SerialnumTplService;
+//import com.jeeplus.sys.mapper.UserMapper;
+
 /**
  * 财务项目登记service
  * @author: 徐滕
@@ -95,7 +93,9 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
             }
             if (StringUtils.isNotBlank(cwProjectRecordsDTO.getProjectMasterName())) {
                 queryWrapper.in("a.project_master_id", cwProjectRecordsDTO.getProjectMasterName());
-
+            }
+            if (StringUtils.isNotBlank(cwProjectRecordsDTO.getBusinessType())){
+                queryWrapper.eq("a.business_type",cwProjectRecordsDTO.getBusinessType());
             }
             if (StringUtils.isNotBlank(cwProjectRecordsDTO.getProjectMasterName2())) {
                 List<User> userList = SpringUtil.getBean ( IUserApi.class ).selectListByName(cwProjectRecordsDTO.getProjectMasterName2());