Преглед на файлове

评估项目登记查询优化、发票bug修复

lizhenhao преди 2 години
родител
ревизия
657ff1a4f2

+ 1 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/mapper/xml/CwFinanceInvoiceMapper.xml

@@ -244,7 +244,7 @@
         cfid.number as "number",
         cfid.account as "accountDetail"
         from cw_finance_invoice fi
-        left join cw_finance_invoice_detail cfid on cfid.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 = 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'

+ 1 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/finance/invoice/mapper/xml/FinanceInvoiceMapper.xml

@@ -210,7 +210,7 @@
         art.ID_ as task_id,
         art_invalid.ID_ as task_id_invalid
         from finance_invoice fi
-        left join finance_invoice_detail cfid on cfid.invoice_id = fi.id
+        left join finance_invoice_detail cfid on cfid.invoice_id = fi.id and cfid.del_flag = '0'
         left join sys_user su on fi.create_by = 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'

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/domain/ProgramProjectListInfo.java

@@ -418,4 +418,10 @@ public class ProgramProjectListInfo {
     @TableField(exist = false)
     private List<String> auditUserIdsArchive;
 
+    /**
+     * 是否展示关联发票的开票状态   1展示   其他不展示
+     */
+    @TableField(exist = false)
+    private String showInvoiceFlag;
+
 }

+ 12 - 19
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/mapper/xml/ProjectListMapper.xml

@@ -623,27 +623,20 @@
 
     <select id="selectInvoiceFlag" resultType="string">
         select
-         case
-             when ff.status = '1' then '开票中'
-             when ff.status = '2' then '开票中'
-             when ff.status = '3' then '开票中'
-             when ff.status = '4' then '开票中'
-             when ff.status = '5' then '已开票'
-             when ff.status = '6' then '已开票'
-             when ff.status = '7' then '已开票'
-             when ff.status = '8' then '已开票'
-         else '' end
-        from
-        (select
-        fib.program_name as program_name,
-        fi.`status` as status,
-        fib.program_id as program_id,
-        fi.create_date as create_date
+            case
+                 when fi.status = '1' then '开票中'
+                 when fi.status = '2' then '开票中'
+                 when fi.status = '3' then '开票中'
+                 when fi.status = '4' then '开票中'
+                 when fi.status = '5' then '已开票'
+                 when fi.status = '6' then '已开票'
+                 when fi.status = '7' then '已开票'
+                 when fi.status = '8' then '已开票'
+            else '' end
         from finance_invoice_base fib
         inner join finance_invoice fi on fi.id = fib.invoice_id and fi.del_flag = '0'
-        where fib.del_flag = '0' and fi.status != '9'
-        order by fi.create_date desc) ff
-        where ff.program_id = #{id}
+        where fib.del_flag = '0' and fi.status != '9' and fib.program_id = #{id}
+        order by fi.create_date desc
         limit 1
     </select>
 

+ 5 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/program/configuration/projectList/service/ProjectListService.java

@@ -628,8 +628,11 @@ public class ProjectListService {
         }
         IPage<ProgramProjectListInfo> pageList = projectListMapper.findPageList(page, wrapper);
         pageList.getRecords().stream().forEach(item ->{
-            String isInvoice = projectListMapper.selectInvoiceFlag(item.getId());
-            item.setIsInvoice(isInvoice);
+            // 查询关联发票的开票状态
+            if (StringUtils.isNotBlank(info.getShowInvoiceFlag()) && "1".equals(info.getShowInvoiceFlag())) {
+                String isInvoice = projectListMapper.selectInvoiceFlag(item.getId());
+                item.setIsInvoice(isInvoice);
+            }
             // 项目登记
             if (StringUtils.isNotBlank(item.getTaskId()) && StringUtils.isNotBlank(item.getStatus())) {
                 if ("2".equals(item.getStatus())) { // “审核中”的数据要获取数据审核人