张延森 2 anni fa
parent
commit
2685a54fae

+ 20
- 0
src/main/java/com/njyunzhi/invoice/controller/TaInvoiceDetailController.java Vedi File

@@ -68,6 +68,26 @@ public class TaInvoiceDetailController extends BaseController {
68 68
         return ResponseBean.success(result);
69 69
     }
70 70
 
71
+
72
+    /**
73
+     * 分页查询列表
74
+     * @param pageNum
75
+     * @param pageSize
76
+     * @return
77
+     */
78
+    @RequestMapping(value="/admin/invoice/{invoiceId}/detail",method= RequestMethod.GET)
79
+    @ApiOperation(value="报销列表", notes = "报销列表", httpMethod = "GET", response = ResponseBean.class)
80
+    public ResponseBean getList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
81
+                                @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
82
+                                @ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId,
83
+                                @ApiParam("单位名称") @PathVariable(value ="orgName", required = false) String orgName,
84
+                                @ApiParam("报销人名称") @PathVariable(value ="personName", required = false) String personName) throws Exception{
85
+
86
+        IPage<TaInvoiceDetail> pg = new Page<>(pageNum, pageSize);
87
+        IPage<TaInvoiceDetail> result = iTaInvoiceDetailService.getPageBy(pg, invoiceId, orgName, personName);
88
+        return ResponseBean.success(result);
89
+    }
90
+
71 91
     @RequestMapping(value="/admin/invoice/{invoiceId}/detail-tpl",method= RequestMethod.POST)
72 92
     @ApiOperation(value="一键生成", notes = "一键生成", httpMethod = "POST", response = ResponseBean.class)
73 93
     public ResponseBean taInvoiceDetailAdd(@ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId) throws Exception{

+ 3
- 2
src/main/java/com/njyunzhi/invoice/controller/TaInvoiceFillController.java Vedi File

@@ -103,7 +103,7 @@ public class TaInvoiceFillController extends BaseController {
103 103
 
104 104
         String tplPath = "excel/invoice_tpl.xlsx";  // 相对 resource 目录位置
105 105
         InputStream inputStream = fileUtil.getResourceFile(tplPath);
106
-        String expFile = String.format("%s开票信息表.xlsx", invoiceFill.getName());
106
+        String expFile = StringUtils.urlEncode(String.format("%s开票信息表.xlsx", invoiceFill.getName()));
107 107
 
108 108
         response.setContentType("application/vnd.ms-excel");
109 109
         response.setCharacterEncoding("utf-8");
@@ -115,11 +115,12 @@ public class TaInvoiceFillController extends BaseController {
115 115
 //                .doFill(list);
116 116
 
117 117
         List<Object> mergeDataList = list.stream().map(x -> x.getPersonName()).collect(Collectors.toList());
118
-        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), TaInvoiceDetail.class).build();
118
+        ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), TaInvoiceDetail.class).withTemplate(inputStream).build();
119 119
         WriteSheet writeSheet = EasyExcel.writerSheet().registerWriteHandler(new MergeRowStrategy(mergeDataList, 2, 0)).build();
120 120
         FillConfig fillConfig = FillConfig.builder().forceNewRow(true).build();
121 121
 
122 122
         excelWriter.fill(list, fillConfig, writeSheet);
123
+        excelWriter.finish();
123 124
     }
124 125
 
125 126
     /**

+ 5
- 0
src/main/java/com/njyunzhi/invoice/mapper/TaInvoiceDetailMapper.java Vedi File

@@ -38,4 +38,9 @@ public interface TaInvoiceDetailMapper extends BaseMapper<TaInvoiceDetail> {
38 38
                                          @Param("personName") String personName);
39 39
 
40 40
     TaInvoiceDetail getTplByPerson(@Param("invoiceId") String invoiceId, @Param("invoicePersonId") String invoicePersonId);
41
+
42
+    IPage<TaInvoiceDetail> getPageBy(IPage<TaInvoiceDetail> pg,
43
+                                     @Param("invoiceId") String invoiceId,
44
+                                     @Param("orgName") String orgName,
45
+                                     @Param("personName") String personName);
41 46
 }

+ 2
- 0
src/main/java/com/njyunzhi/invoice/service/ITaInvoiceDetailService.java Vedi File

@@ -35,4 +35,6 @@ public interface ITaInvoiceDetailService extends IService<TaInvoiceDetail> {
35 35
     boolean createOrUpdateItem(TaInvoiceItem taInvoiceItem) throws Exception;
36 36
 
37 37
     boolean deleteItem(String invoiceId, Integer itemId);
38
+
39
+    IPage<TaInvoiceDetail> getPageBy(IPage<TaInvoiceDetail> pg, String invoiceId, String orgName, String personName);
38 40
 }

+ 5
- 0
src/main/java/com/njyunzhi/invoice/service/impl/TaInvoiceDetailServiceImpl.java Vedi File

@@ -130,4 +130,9 @@ public class TaInvoiceDetailServiceImpl extends ServiceImpl<TaInvoiceDetailMappe
130 130
     public boolean deleteItem(String invoiceId, Integer itemId) {
131 131
         return taInvoiceItemMapper.deleteById(itemId) > 0;
132 132
     }
133
+
134
+    @Override
135
+    public IPage<TaInvoiceDetail> getPageBy(IPage<TaInvoiceDetail> pg, String invoiceId, String orgName, String personName) {
136
+        return baseMapper.getPageBy(pg, invoiceId, orgName, personName);
137
+    }
133 138
 }

+ 25
- 3
src/main/resources/mapper/TaInvoiceDetailMapper.xml Vedi File

@@ -77,7 +77,8 @@
77 77
           AND t.person_id = #{personId}
78 78
           AND t.`status` &gt; -1
79 79
     </select>
80
-    <select id="getListByMainId" resultType="com.njyunzhi.invoice.entity.TaInvoiceDetail">
80
+
81
+    <sql id="getInvoiceDetail">
81 82
         SELECT
82 83
             t.`detail_id`,
83 84
             t.`invoice_id`,
@@ -103,9 +104,14 @@
103 104
             t.`create_date`
104 105
         FROM
105 106
             ta_invoice_detail t
106
-                INNER JOIN ta_invoice_item s ON t.invoice_id = s.invoice_id
107
+                INNER JOIN ta_invoice_item s ON t.invoice_id = s.invoice_id AND t.invoice_person_id = s.invoice_person_id
108
+    </sql>
109
+
110
+    <select id="getListByMainId" resultType="com.njyunzhi.invoice.entity.TaInvoiceDetail">
111
+        <include refid="getInvoiceDetail"></include>
107 112
         WHERE
108
-            t.invoice_id = #{invoiceId}
113
+            t.`status` &gt; -1
114
+            AND t.invoice_id = #{invoiceId}
109 115
         ORDER BY
110 116
             t.org_name ASC,
111 117
             t.person_name ASC,
@@ -182,4 +188,20 @@
182 188
             t.org_name ASC,
183 189
             t.`name` ASC
184 190
     </select>
191
+    <select id="getPageBy" resultType="com.njyunzhi.invoice.entity.TaInvoiceDetail">
192
+        <include refid="getInvoiceDetail"></include>
193
+        WHERE
194
+            t.`status` &gt; -1
195
+            AND t.invoice_id = #{invoiceId}
196
+        <if test="orgName != null and orgName != ''">
197
+            AND t.org_name LIKE CONCAT( '%', #{orgName}, '%' )
198
+        </if>
199
+        <if test="personName != null and personName != ''">
200
+            AND t.person_name LIKE CONCAT( '%', #{personName}, '%' )
201
+        </if>
202
+        ORDER BY
203
+            t.org_name ASC,
204
+            t.person_name ASC,
205
+            s.`name` ASC
206
+    </select>
185 207
 </mapper>