张延森 2 jaren geleden
bovenliggende
commit
7283a1d3e5
28 gewijzigde bestanden met toevoegingen van 434 en 203 verwijderingen
  1. 1
    1
      pom.xml
  2. 3
    0
      src/main/java/com/njyunzhi/invoice/common/Constants.java
  3. 93
    32
      src/main/java/com/njyunzhi/invoice/controller/TaInvoiceDetailController.java
  4. 33
    16
      src/main/java/com/njyunzhi/invoice/controller/TaInvoiceFillController.java
  5. 20
    23
      src/main/java/com/njyunzhi/invoice/controller/TaInvoiceItemTplController.java
  6. 11
    65
      src/main/java/com/njyunzhi/invoice/controller/TaInvoiceOrgController.java
  7. 36
    40
      src/main/java/com/njyunzhi/invoice/controller/TaInvoicePersonController.java
  8. 5
    1
      src/main/java/com/njyunzhi/invoice/entity/TaInvoiceDetail.java
  9. 1
    1
      src/main/java/com/njyunzhi/invoice/entity/TaInvoiceFill.java
  10. 1
    3
      src/main/java/com/njyunzhi/invoice/entity/TaInvoiceItemTpl.java
  11. 1
    1
      src/main/java/com/njyunzhi/invoice/entity/TaInvoiceOrg.java
  12. 12
    1
      src/main/java/com/njyunzhi/invoice/entity/TaInvoicePerson.java
  13. 4
    0
      src/main/java/com/njyunzhi/invoice/mapper/TaInvoiceDetailMapper.java
  14. 2
    0
      src/main/java/com/njyunzhi/invoice/mapper/TaInvoiceOrgMapper.java
  15. 4
    0
      src/main/java/com/njyunzhi/invoice/mapper/TaInvoicePersonMapper.java
  16. 3
    0
      src/main/java/com/njyunzhi/invoice/service/ITaInvoiceDetailService.java
  17. 1
    2
      src/main/java/com/njyunzhi/invoice/service/ITaInvoiceFillService.java
  18. 4
    0
      src/main/java/com/njyunzhi/invoice/service/ITaInvoiceOrgService.java
  19. 8
    0
      src/main/java/com/njyunzhi/invoice/service/ITaInvoicePersonService.java
  20. 16
    0
      src/main/java/com/njyunzhi/invoice/service/impl/TaInvoiceDetailServiceImpl.java
  21. 1
    2
      src/main/java/com/njyunzhi/invoice/service/impl/TaInvoiceFillServiceImpl.java
  22. 18
    0
      src/main/java/com/njyunzhi/invoice/service/impl/TaInvoiceOrgServiceImpl.java
  23. 71
    0
      src/main/java/com/njyunzhi/invoice/service/impl/TaInvoicePersonServiceImpl.java
  24. 0
    14
      src/main/resources/mapper/SysBankMapper.xml
  25. 64
    0
      src/main/resources/mapper/TaInvoiceDetailMapper.xml
  26. 0
    1
      src/main/resources/mapper/TaInvoiceFillMapper.xml
  27. 10
    0
      src/main/resources/mapper/TaInvoiceOrgMapper.xml
  28. 11
    0
      src/main/resources/mapper/TaInvoicePersonMapper.xml

+ 1
- 1
pom.xml Bestand weergeven

@@ -62,7 +62,7 @@
62 62
 		<dependency>
63 63
 			<groupId>com.alibaba</groupId>
64 64
 			<artifactId>easyexcel</artifactId>
65
-			<version>2.0.4</version>
65
+			<version>3.1.1</version>
66 66
 		</dependency>
67 67
 		<!--excel end-->
68 68
 

+ 3
- 0
src/main/java/com/njyunzhi/invoice/common/Constants.java Bestand weergeven

@@ -4,4 +4,7 @@ public class Constants {
4 4
     public final static int STATUS_DELETE = -1;
5 5
     public final static int STATUS_READY = 0;
6 6
     public final static int STATUS_NORMAL = 1;
7
+
8
+
9
+    public final static int INVOICE_FINISHED = 2;
7 10
 }

+ 93
- 32
src/main/java/com/njyunzhi/invoice/controller/TaInvoiceDetailController.java Bestand weergeven

@@ -4,7 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.njyunzhi.invoice.common.BaseController;
7
+import com.njyunzhi.invoice.common.Constants;
8
+import com.njyunzhi.invoice.common.DateUtils;
7 9
 import com.njyunzhi.invoice.common.ResponseBean;
10
+import com.njyunzhi.invoice.entity.TaInvoiceFill;
11
+import com.njyunzhi.invoice.entity.TaPerson;
12
+import com.njyunzhi.invoice.service.ITaInvoiceFillService;
8 13
 import io.swagger.annotations.Api;
9 14
 import io.swagger.annotations.ApiOperation;
10 15
 import io.swagger.annotations.ApiParam;
@@ -39,6 +44,9 @@ public class TaInvoiceDetailController extends BaseController {
39 44
     @Autowired
40 45
     public ITaInvoiceDetailService iTaInvoiceDetailService;
41 46
 
47
+    @Autowired
48
+    public ITaInvoiceFillService iTaInvoiceFillService;
49
+
42 50
 
43 51
     /**
44 52
      * 分页查询列表
@@ -46,31 +54,28 @@ public class TaInvoiceDetailController extends BaseController {
46 54
      * @param pageSize
47 55
      * @return
48 56
      */
49
-    @RequestMapping(value="/admin/taInvoiceDetail",method= RequestMethod.GET)
57
+    @RequestMapping(value="/admin/invoice/{invoiceId}/detail",method= RequestMethod.GET)
50 58
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
51 59
     public ResponseBean taInvoiceDetailList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
-									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
53
-
54
-		    IPage<TaInvoiceDetail> pg = new Page<>(pageNum, pageSize);
55
-            QueryWrapper<TaInvoiceDetail> queryWrapper = new QueryWrapper<>();
56
-            queryWrapper.orderByDesc("create_date");
60
+									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
61
+                                     @ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId) throws Exception{
57 62
 
58
-            IPage<TaInvoiceDetail> result = iTaInvoiceDetailService.page(pg, queryWrapper);
59
-            return ResponseBean.success(result);
63
+        IPage<TaInvoiceDetail> pg = new Page<>(pageNum, pageSize);
64
+        QueryWrapper<TaInvoiceDetail> queryWrapper = new QueryWrapper<>();
65
+        queryWrapper.gt("status", Constants.STATUS_DELETE);
66
+        queryWrapper.eq("invoice_id",invoiceId);
67
+        queryWrapper.orderByDesc("create_date");
68
+        IPage<TaInvoiceDetail> result = iTaInvoiceDetailService.page(pg, queryWrapper);
69
+        return ResponseBean.success(result);
60 70
     }
61 71
 
62
-    /**
63
-     * 保存对象
64
-     * @param taInvoiceDetail 实体对象
65
-     * @return
66
-     */
67
-    @RequestMapping(value="/admin/taInvoiceDetail",method= RequestMethod.POST)
68
-    @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
69
-    public ResponseBean taInvoiceDetailAdd(@ApiParam("保存内容") @RequestBody TaInvoiceDetail taInvoiceDetail) throws Exception{
72
+    @RequestMapping(value="/admin/invoice/{invoiceId}/detail",method= RequestMethod.POST)
73
+    @ApiOperation(value="一键生成", notes = "一键生成", httpMethod = "POST", response = ResponseBean.class)
74
+    public ResponseBean taInvoiceDetailAdd(@ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId) throws Exception{
70 75
 
71
-        if (iTaInvoiceDetailService.save(taInvoiceDetail)){
72
-            return ResponseBean.success(taInvoiceDetail);
73
-        }else {
76
+        if (iTaInvoiceDetailService.createBatch(invoiceId)){
77
+            return ResponseBean.success("ok");
78
+        } else {
74 79
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
75 80
         }
76 81
     }
@@ -79,9 +84,9 @@ public class TaInvoiceDetailController extends BaseController {
79 84
      * 根据id删除对象
80 85
      * @param id  实体ID
81 86
      */
82
-    @RequestMapping(value="/admin/taInvoiceDetail/{id}", method= RequestMethod.DELETE)
87
+    @RequestMapping(value="/admin/invoice/detail/{id}", method= RequestMethod.DELETE)
83 88
     @ApiOperation(value="删除", notes = "删除", httpMethod = "DELETE", response = ResponseBean.class)
84
-    public ResponseBean taInvoiceDetailDelete(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
89
+    public ResponseBean taInvoiceDetailDelete(@ApiParam("对象ID") @PathVariable String id) throws Exception{
85 90
         if(iTaInvoiceDetailService.removeById(id)){
86 91
             return ResponseBean.success("success");
87 92
         }else {
@@ -95,11 +100,14 @@ public class TaInvoiceDetailController extends BaseController {
95 100
      * @param taInvoiceDetail 实体对象
96 101
      * @return
97 102
      */
98
-    @RequestMapping(value="/admin/taInvoiceDetail/{id}",method= RequestMethod.PUT)
103
+    @RequestMapping(value="/admin/invoice/{invoiceId}/detail/{id}",method= RequestMethod.PUT)
99 104
     @ApiOperation(value="更新", notes = "更新", httpMethod = "PUT", response = ResponseBean.class)
100
-    public ResponseBean taInvoiceDetailUpdate(@ApiParam("对象ID") @PathVariable Integer id,
101
-                                        @ApiParam("更新内容") @RequestBody TaInvoiceDetail taInvoiceDetail) throws Exception{
105
+    public ResponseBean taInvoiceDetailUpdate(@ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId,
106
+                                              @ApiParam("对象ID") @PathVariable String id,
107
+                                              @ApiParam("更新内容") @RequestBody TaInvoiceDetail taInvoiceDetail) throws Exception{
102 108
 
109
+        taInvoiceDetail.setDetailId(id);
110
+        taInvoiceDetail.setInvoiceId(invoiceId);
103 111
         if (iTaInvoiceDetailService.updateById(taInvoiceDetail)){
104 112
             return ResponseBean.success(iTaInvoiceDetailService.getById(id));
105 113
         }else {
@@ -107,13 +115,66 @@ public class TaInvoiceDetailController extends BaseController {
107 115
         }
108 116
     }
109 117
 
110
-    /**
111
-     * 根据id查询对象
112
-     * @param id  实体ID
113
-     */
114
-    @RequestMapping(value="/admin/taInvoiceDetail/{id}",method= RequestMethod.GET)
115
-    @ApiOperation(value="详情", notes = "详情", httpMethod = "GET", response = ResponseBean.class)
116
-    public ResponseBean taInvoiceDetailGet(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
117
-        return ResponseBean.success(iTaInvoiceDetailService.getById(id));
118
+    @RequestMapping(value="/h5/invoice/{invoiceId}/detail/{id}",method= RequestMethod.PUT)
119
+    @ApiOperation(value="H5确认报销单", notes = "H5确认报销单", httpMethod = "PUT", response = ResponseBean.class)
120
+    public ResponseBean invoiceConfirm(@ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId,
121
+                                       @ApiParam("对象ID") @PathVariable String id,
122
+                                       @ApiParam("更新内容") @RequestBody TaInvoiceDetail taInvoiceDetail) throws Exception{
123
+
124
+        TaPerson taPerson = currentPerson();
125
+
126
+        taInvoiceDetail.setDetailId(id);
127
+        taInvoiceDetail.setPersonId(taPerson.getPersonId());
128
+        taInvoiceDetail.setInvoiceId(invoiceId);
129
+        if (iTaInvoiceDetailService.updateById(taInvoiceDetail)){
130
+            return ResponseBean.success(iTaInvoiceDetailService.getById(id));
131
+        }else {
132
+            return ResponseBean.error("修改失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
133
+        }
134
+    }
135
+
136
+    private boolean getIsFinished(TaInvoiceFill taInvoiceFill) {
137
+        return Constants.INVOICE_FINISHED == taInvoiceFill.getStatus() ||
138
+                DateUtils.now().isAfter(taInvoiceFill.getEndDate());
139
+    }
140
+
141
+
142
+    @RequestMapping(value="/h5/invoice/{invoiceId}",method= RequestMethod.GET)
143
+    @ApiOperation(value="获取报销单", notes = "获取报销单", httpMethod = "GET", response = ResponseBean.class)
144
+    public ResponseBean getInvoice(@ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId) throws Exception{
145
+
146
+        TaInvoiceFill taInvoiceFill = iTaInvoiceFillService.getById(invoiceId);
147
+        if (null == taInvoiceFill || taInvoiceFill.getStatus() != Constants.STATUS_NORMAL) {
148
+            return ResponseBean.error("报销单不存在");
149
+        }
150
+
151
+        TaPerson taPerson = currentPerson();
152
+        TaInvoiceDetail taInvoiceDetail = iTaInvoiceDetailService.getByPerson(invoiceId, taPerson.getPersonId());
153
+        if (null == taInvoiceDetail) {
154
+            return ResponseBean.error("找不到报销数据或者您不在此次名单中");
155
+        }
156
+
157
+        taInvoiceDetail.setIsFinished(getIsFinished(taInvoiceFill));
158
+        return ResponseBean.success(taInvoiceDetail);
159
+    }
160
+
161
+    @RequestMapping(value="/h5/invoice/{invoiceId}/detail/{id}",method= RequestMethod.GET)
162
+    @ApiOperation(value="获取报销单详情", notes = "获取报销单详情", httpMethod = "GET", response = ResponseBean.class)
163
+    public ResponseBean getDetail(@ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId,
164
+                                       @ApiParam("对象ID") @PathVariable String id) throws Exception{
165
+
166
+        TaInvoiceFill taInvoiceFill = iTaInvoiceFillService.getById(invoiceId);
167
+        if (null == taInvoiceFill || taInvoiceFill.getStatus() != Constants.STATUS_NORMAL) {
168
+            return ResponseBean.error("报销单不存在");
169
+        }
170
+
171
+        TaPerson taPerson = currentPerson();
172
+        TaInvoiceDetail taInvoiceDetail = iTaInvoiceDetailService.getById(id);
173
+        if (null == taInvoiceDetail || taInvoiceDetail.getStatus() == Constants.STATUS_DELETE || !taPerson.getPersonId().equals(taInvoiceDetail.getPersonId())) {
174
+            return ResponseBean.error("找不到报销数据详情");
175
+        }
176
+
177
+        taInvoiceDetail.setIsFinished(getIsFinished(taInvoiceFill));
178
+        return ResponseBean.success(taInvoiceDetail);
118 179
     }
119 180
 }

+ 33
- 16
src/main/java/com/njyunzhi/invoice/controller/TaInvoiceFillController.java Bestand weergeven

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.njyunzhi.invoice.common.BaseController;
7
+import com.njyunzhi.invoice.common.Constants;
7 8
 import com.njyunzhi.invoice.common.ResponseBean;
9
+import com.njyunzhi.invoice.common.StringUtils;
8 10
 import io.swagger.annotations.Api;
9 11
 import io.swagger.annotations.ApiOperation;
10 12
 import io.swagger.annotations.ApiParam;
@@ -20,6 +22,8 @@ import com.njyunzhi.invoice.service.ITaInvoiceFillService;
20 22
 import com.njyunzhi.invoice.entity.TaInvoiceFill;
21 23
 import org.springframework.web.bind.annotation.RestController;
22 24
 
25
+import java.util.List;
26
+
23 27
 /**
24 28
  * <p>
25 29
     * 报销主表 前端控制器
@@ -46,17 +50,25 @@ public class TaInvoiceFillController extends BaseController {
46 50
      * @param pageSize
47 51
      * @return
48 52
      */
49
-    @RequestMapping(value="/admin/taInvoiceFill",method= RequestMethod.GET)
53
+    @RequestMapping(value="/{client}/invoice",method= RequestMethod.GET)
50 54
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
51
-    public ResponseBean taInvoiceFillList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
-									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
55
+    public ResponseBean taInvoiceFillList(@ApiParam("客户端") @PathVariable String client,
56
+                                          @ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
57
+                                          @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
58
+                                          @ApiParam("班级名称") @RequestParam(value ="name", required = false) String name) throws Exception{
59
+        IPage<TaInvoiceFill> pg = new Page<>(pageNum, pageSize);
60
+        QueryWrapper<TaInvoiceFill> queryWrapper = new QueryWrapper<>();
61
+        queryWrapper.gt("status", Constants.STATUS_DELETE);
62
+        queryWrapper.like(!StringUtils.isEmpty(name), "name", "%" + name + "%");
63
+        queryWrapper.orderByDesc("create_date");
53 64
 
54
-		    IPage<TaInvoiceFill> pg = new Page<>(pageNum, pageSize);
55
-            QueryWrapper<TaInvoiceFill> queryWrapper = new QueryWrapper<>();
56
-            queryWrapper.orderByDesc("create_date");
65
+        // H5 端只能查看自己的报销单
66
+        if ("h5".equals(client)) {
67
+            queryWrapper.eq("person_id", currentPerson().getPersonId());
68
+        }
57 69
 
58
-            IPage<TaInvoiceFill> result = iTaInvoiceFillService.page(pg, queryWrapper);
59
-            return ResponseBean.success(result);
70
+        IPage<TaInvoiceFill> result = iTaInvoiceFillService.page(pg, queryWrapper);
71
+        return ResponseBean.success(result);
60 72
     }
61 73
 
62 74
     /**
@@ -64,10 +76,14 @@ public class TaInvoiceFillController extends BaseController {
64 76
      * @param taInvoiceFill 实体对象
65 77
      * @return
66 78
      */
67
-    @RequestMapping(value="/admin/taInvoiceFill",method= RequestMethod.POST)
79
+    @RequestMapping(value="/admin/invoice",method= RequestMethod.POST)
68 80
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
69 81
     public ResponseBean taInvoiceFillAdd(@ApiParam("保存内容") @RequestBody TaInvoiceFill taInvoiceFill) throws Exception{
70 82
 
83
+        if (null == taInvoiceFill.getStatus()) {
84
+            taInvoiceFill.setStatus(Constants.STATUS_READY);
85
+        }
86
+
71 87
         if (iTaInvoiceFillService.save(taInvoiceFill)){
72 88
             return ResponseBean.success(taInvoiceFill);
73 89
         }else {
@@ -79,10 +95,10 @@ public class TaInvoiceFillController extends BaseController {
79 95
      * 根据id删除对象
80 96
      * @param id  实体ID
81 97
      */
82
-    @RequestMapping(value="/admin/taInvoiceFill/{id}", method= RequestMethod.DELETE)
98
+    @RequestMapping(value="/admin/invoice/{id}", method= RequestMethod.DELETE)
83 99
     @ApiOperation(value="删除", notes = "删除", httpMethod = "DELETE", response = ResponseBean.class)
84
-    public ResponseBean taInvoiceFillDelete(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
85
-        if(iTaInvoiceFillService.removeById(id)){
100
+    public ResponseBean taInvoiceFillDelete(@ApiParam("对象ID") @PathVariable String id) throws Exception{
101
+        if(iTaInvoiceFillService.removeLogicById(id)){
86 102
             return ResponseBean.success("success");
87 103
         }else {
88 104
             return ResponseBean.error("删除失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
@@ -95,11 +111,12 @@ public class TaInvoiceFillController extends BaseController {
95 111
      * @param taInvoiceFill 实体对象
96 112
      * @return
97 113
      */
98
-    @RequestMapping(value="/admin/taInvoiceFill/{id}",method= RequestMethod.PUT)
114
+    @RequestMapping(value="/admin/invoice/{id}",method= RequestMethod.PUT)
99 115
     @ApiOperation(value="更新", notes = "更新", httpMethod = "PUT", response = ResponseBean.class)
100
-    public ResponseBean taInvoiceFillUpdate(@ApiParam("对象ID") @PathVariable Integer id,
116
+    public ResponseBean taInvoiceFillUpdate(@ApiParam("对象ID") @PathVariable String id,
101 117
                                         @ApiParam("更新内容") @RequestBody TaInvoiceFill taInvoiceFill) throws Exception{
102 118
 
119
+        taInvoiceFill.setInvoiceId(id);
103 120
         if (iTaInvoiceFillService.updateById(taInvoiceFill)){
104 121
             return ResponseBean.success(iTaInvoiceFillService.getById(id));
105 122
         }else {
@@ -111,9 +128,9 @@ public class TaInvoiceFillController extends BaseController {
111 128
      * 根据id查询对象
112 129
      * @param id  实体ID
113 130
      */
114
-    @RequestMapping(value="/admin/taInvoiceFill/{id}",method= RequestMethod.GET)
131
+    @RequestMapping(value="/admin/invoice/{id}",method= RequestMethod.GET)
115 132
     @ApiOperation(value="详情", notes = "详情", httpMethod = "GET", response = ResponseBean.class)
116
-    public ResponseBean taInvoiceFillGet(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
133
+    public ResponseBean taInvoiceFillGet(@ApiParam("对象ID") @PathVariable String id) throws Exception{
117 134
         return ResponseBean.success(iTaInvoiceFillService.getById(id));
118 135
     }
119 136
 }

+ 20
- 23
src/main/java/com/njyunzhi/invoice/controller/TaInvoiceItemTplController.java Bestand weergeven

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.njyunzhi.invoice.common.BaseController;
7 7
 import com.njyunzhi.invoice.common.ResponseBean;
8
+import com.njyunzhi.invoice.common.StringUtils;
8 9
 import io.swagger.annotations.Api;
9 10
 import io.swagger.annotations.ApiOperation;
10 11
 import io.swagger.annotations.ApiParam;
@@ -46,17 +47,18 @@ public class TaInvoiceItemTplController extends BaseController {
46 47
      * @param pageSize
47 48
      * @return
48 49
      */
49
-    @RequestMapping(value="/admin/taInvoiceItemTpl",method= RequestMethod.GET)
50
+    @RequestMapping(value="/admin/invoice/{invoiceId}/item",method= RequestMethod.GET)
50 51
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
51 52
     public ResponseBean taInvoiceItemTplList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
-									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
53
+									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
54
+                                     @ApiParam("报销ID") @PathVariable(value ="invoiceId") String invoiceId) throws Exception{
53 55
 
54
-		    IPage<TaInvoiceItemTpl> pg = new Page<>(pageNum, pageSize);
55
-            QueryWrapper<TaInvoiceItemTpl> queryWrapper = new QueryWrapper<>();
56
-            queryWrapper.orderByDesc("create_date");
57
-
58
-            IPage<TaInvoiceItemTpl> result = iTaInvoiceItemTplService.page(pg, queryWrapper);
59
-            return ResponseBean.success(result);
56
+        IPage<TaInvoiceItemTpl> pg = new Page<>(pageNum, pageSize);
57
+        QueryWrapper<TaInvoiceItemTpl> queryWrapper = new QueryWrapper<>();
58
+        queryWrapper.orderByDesc("create_date");
59
+        queryWrapper.eq("invoice_id",invoiceId);
60
+        IPage<TaInvoiceItemTpl> result = iTaInvoiceItemTplService.page(pg, queryWrapper);
61
+        return ResponseBean.success(result);
60 62
     }
61 63
 
62 64
     /**
@@ -64,10 +66,12 @@ public class TaInvoiceItemTplController extends BaseController {
64 66
      * @param taInvoiceItemTpl 实体对象
65 67
      * @return
66 68
      */
67
-    @RequestMapping(value="/admin/taInvoiceItemTpl",method= RequestMethod.POST)
69
+    @RequestMapping(value="/admin/invoice/{invoiceId}/item",method= RequestMethod.POST)
68 70
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
69
-    public ResponseBean taInvoiceItemTplAdd(@ApiParam("保存内容") @RequestBody TaInvoiceItemTpl taInvoiceItemTpl) throws Exception{
71
+    public ResponseBean taInvoiceItemTplAdd(@ApiParam("报销ID") @PathVariable(value ="invoiceId") String invoiceId,
72
+                                            @ApiParam("保存内容") @RequestBody TaInvoiceItemTpl taInvoiceItemTpl) throws Exception{
70 73
 
74
+        taInvoiceItemTpl.setInvoiceId(invoiceId);
71 75
         if (iTaInvoiceItemTplService.save(taInvoiceItemTpl)){
72 76
             return ResponseBean.success(taInvoiceItemTpl);
73 77
         }else {
@@ -79,7 +83,7 @@ public class TaInvoiceItemTplController extends BaseController {
79 83
      * 根据id删除对象
80 84
      * @param id  实体ID
81 85
      */
82
-    @RequestMapping(value="/admin/taInvoiceItemTpl/{id}", method= RequestMethod.DELETE)
86
+    @RequestMapping(value="/admin/invoice/{invoiceId}/item/{id}", method= RequestMethod.DELETE)
83 87
     @ApiOperation(value="删除", notes = "删除", httpMethod = "DELETE", response = ResponseBean.class)
84 88
     public ResponseBean taInvoiceItemTplDelete(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
85 89
         if(iTaInvoiceItemTplService.removeById(id)){
@@ -95,11 +99,13 @@ public class TaInvoiceItemTplController extends BaseController {
95 99
      * @param taInvoiceItemTpl 实体对象
96 100
      * @return
97 101
      */
98
-    @RequestMapping(value="/admin/taInvoiceItemTpl/{id}",method= RequestMethod.PUT)
102
+    @RequestMapping(value="/admin/invoice/{invoiceId}/item/{id}",method= RequestMethod.PUT)
99 103
     @ApiOperation(value="更新", notes = "更新", httpMethod = "PUT", response = ResponseBean.class)
100
-    public ResponseBean taInvoiceItemTplUpdate(@ApiParam("对象ID") @PathVariable Integer id,
101
-                                        @ApiParam("更新内容") @RequestBody TaInvoiceItemTpl taInvoiceItemTpl) throws Exception{
104
+    public ResponseBean taInvoiceItemTplUpdate(@ApiParam("报销ID") @PathVariable(value ="invoiceId") String invoiceId,
105
+                                               @ApiParam("对象ID") @PathVariable Integer id,
106
+                                               @ApiParam("更新内容") @RequestBody TaInvoiceItemTpl taInvoiceItemTpl) throws Exception{
102 107
 
108
+        taInvoiceItemTpl.setInvoiceId(invoiceId);
103 109
         if (iTaInvoiceItemTplService.updateById(taInvoiceItemTpl)){
104 110
             return ResponseBean.success(iTaInvoiceItemTplService.getById(id));
105 111
         }else {
@@ -107,13 +113,4 @@ public class TaInvoiceItemTplController extends BaseController {
107 113
         }
108 114
     }
109 115
 
110
-    /**
111
-     * 根据id查询对象
112
-     * @param id  实体ID
113
-     */
114
-    @RequestMapping(value="/admin/taInvoiceItemTpl/{id}",method= RequestMethod.GET)
115
-    @ApiOperation(value="详情", notes = "详情", httpMethod = "GET", response = ResponseBean.class)
116
-    public ResponseBean taInvoiceItemTplGet(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
117
-        return ResponseBean.success(iTaInvoiceItemTplService.getById(id));
118
-    }
119 116
 }

+ 11
- 65
src/main/java/com/njyunzhi/invoice/controller/TaInvoiceOrgController.java Bestand weergeven

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.njyunzhi.invoice.common.BaseController;
7
+import com.njyunzhi.invoice.common.Constants;
7 8
 import com.njyunzhi.invoice.common.ResponseBean;
8 9
 import io.swagger.annotations.Api;
9 10
 import io.swagger.annotations.ApiOperation;
@@ -46,74 +47,19 @@ public class TaInvoiceOrgController extends BaseController {
46 47
      * @param pageSize
47 48
      * @return
48 49
      */
49
-    @RequestMapping(value="/taInvoiceOrg",method= RequestMethod.GET)
50
+    @RequestMapping(value="/{client}/invoice/{invoiceId}/org",method= RequestMethod.GET)
50 51
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
51 52
     public ResponseBean taInvoiceOrgList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
52
-									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
53
+                                         @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
54
+                                         @ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId) throws Exception{
53 55
 
54
-		    IPage<TaInvoiceOrg> pg = new Page<>(pageNum, pageSize);
55
-            QueryWrapper<TaInvoiceOrg> queryWrapper = new QueryWrapper<>();
56
-            queryWrapper.orderByDesc("create_date");
56
+        IPage<TaInvoiceOrg> pg = new Page<>(pageNum, pageSize);
57
+        QueryWrapper<TaInvoiceOrg> queryWrapper = new QueryWrapper<>();
58
+        queryWrapper.gt("status", Constants.STATUS_DELETE);
59
+        queryWrapper.eq("invoice_id", invoiceId);
60
+        queryWrapper.orderByDesc("create_date");
57 61
 
58
-            IPage<TaInvoiceOrg> result = iTaInvoiceOrgService.page(pg, queryWrapper);
59
-            return ResponseBean.success(result);
60
-    }
61
-
62
-    /**
63
-     * 保存对象
64
-     * @param taInvoiceOrg 实体对象
65
-     * @return
66
-     */
67
-    @RequestMapping(value="/taInvoiceOrg",method= RequestMethod.POST)
68
-    @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
69
-    public ResponseBean taInvoiceOrgAdd(@ApiParam("保存内容") @RequestBody TaInvoiceOrg taInvoiceOrg) throws Exception{
70
-
71
-        if (iTaInvoiceOrgService.save(taInvoiceOrg)){
72
-            return ResponseBean.success(taInvoiceOrg);
73
-        }else {
74
-            return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
75
-        }
76
-    }
77
-
78
-    /**
79
-     * 根据id删除对象
80
-     * @param id  实体ID
81
-     */
82
-    @RequestMapping(value="/taInvoiceOrg/{id}", method= RequestMethod.DELETE)
83
-    @ApiOperation(value="删除", notes = "删除", httpMethod = "DELETE", response = ResponseBean.class)
84
-    public ResponseBean taInvoiceOrgDelete(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
85
-        if(iTaInvoiceOrgService.removeById(id)){
86
-            return ResponseBean.success("success");
87
-        }else {
88
-            return ResponseBean.error("删除失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
89
-        }
90
-    }
91
-
92
-    /**
93
-     * 修改对象
94
-     * @param id  实体ID
95
-     * @param taInvoiceOrg 实体对象
96
-     * @return
97
-     */
98
-    @RequestMapping(value="/taInvoiceOrg/{id}",method= RequestMethod.PUT)
99
-    @ApiOperation(value="更新", notes = "更新", httpMethod = "PUT", response = ResponseBean.class)
100
-    public ResponseBean taInvoiceOrgUpdate(@ApiParam("对象ID") @PathVariable Integer id,
101
-                                        @ApiParam("更新内容") @RequestBody TaInvoiceOrg taInvoiceOrg) throws Exception{
102
-
103
-        if (iTaInvoiceOrgService.updateById(taInvoiceOrg)){
104
-            return ResponseBean.success(iTaInvoiceOrgService.getById(id));
105
-        }else {
106
-            return ResponseBean.error("修改失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
107
-        }
108
-    }
109
-
110
-    /**
111
-     * 根据id查询对象
112
-     * @param id  实体ID
113
-     */
114
-    @RequestMapping(value="/taInvoiceOrg/{id}",method= RequestMethod.GET)
115
-    @ApiOperation(value="详情", notes = "详情", httpMethod = "GET", response = ResponseBean.class)
116
-    public ResponseBean taInvoiceOrgGet(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
117
-        return ResponseBean.success(iTaInvoiceOrgService.getById(id));
62
+        IPage<TaInvoiceOrg> result = iTaInvoiceOrgService.page(pg, queryWrapper);
63
+        return ResponseBean.success(result);
118 64
     }
119 65
 }

+ 36
- 40
src/main/java/com/njyunzhi/invoice/controller/TaInvoicePersonController.java Bestand weergeven

@@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 4
 import com.baomidou.mybatisplus.core.metadata.IPage;
5 5
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.njyunzhi.invoice.common.BaseController;
7
+import com.njyunzhi.invoice.common.Constants;
7 8
 import com.njyunzhi.invoice.common.ResponseBean;
9
+import com.njyunzhi.invoice.common.StringUtils;
10
+import com.njyunzhi.invoice.entity.TaInvoiceOrg;
8 11
 import com.njyunzhi.invoice.service.ITaInvoiceOrgService;
9 12
 import io.swagger.annotations.Api;
10 13
 import io.swagger.annotations.ApiOperation;
@@ -20,6 +23,9 @@ import org.springframework.web.bind.annotation.RequestParam;
20 23
 import com.njyunzhi.invoice.service.ITaInvoicePersonService;
21 24
 import com.njyunzhi.invoice.entity.TaInvoicePerson;
22 25
 import org.springframework.web.bind.annotation.RestController;
26
+import org.springframework.web.multipart.MultipartFile;
27
+
28
+import java.util.List;
23 29
 
24 30
 /**
25 31
  * <p>
@@ -50,16 +56,19 @@ public class TaInvoicePersonController extends BaseController {
50 56
      * @param pageSize
51 57
      * @return
52 58
      */
53
-    @RequestMapping(value="/admin/invoice/person",method= RequestMethod.GET)
59
+    @RequestMapping(value="/{client}/invoice/{invoiceId}/person",method= RequestMethod.GET)
54 60
     @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
55 61
     public ResponseBean taInvoicePersonList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
56
-									 @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize) throws Exception{
57
-
62
+                                            @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
63
+                                            @ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId,
64
+                                            @ApiParam("所属单位") @RequestParam(value ="invoiceOrgId") String invoiceOrgId) throws Exception {
58 65
         IPage<TaInvoicePerson> pg = new Page<>(pageNum, pageSize);
59 66
         QueryWrapper<TaInvoicePerson> queryWrapper = new QueryWrapper<>();
67
+        queryWrapper.gt("status", Constants.STATUS_DELETE);
68
+        queryWrapper.eq("invoice_id", invoiceId);
69
+        queryWrapper.eq(!StringUtils.isEmpty(invoiceOrgId), "invoice_org_id", invoiceOrgId);
60 70
         queryWrapper.orderByDesc("create_date");
61
-
62
-        IPage<TaInvoicePerson> result = iTaInvoicePersonService.page(pg, queryWrapper);
71
+        IPage<TaInvoicePerson> result = iTaInvoicePersonService.page(pg,queryWrapper);
63 72
         return ResponseBean.success(result);
64 73
     }
65 74
 
@@ -68,58 +77,45 @@ public class TaInvoicePersonController extends BaseController {
68 77
      * @param taInvoicePerson 实体对象
69 78
      * @return
70 79
      */
71
-    @RequestMapping(value="/admin/invoice/person",method= RequestMethod.POST)
80
+    @RequestMapping(value="/admin/invoice/{invoiceId}/person",method= RequestMethod.POST)
72 81
     @ApiOperation(value="保存", notes = "保存", httpMethod = "POST", response = ResponseBean.class)
73
-    public ResponseBean taInvoicePersonAdd(@ApiParam("保存内容") @RequestBody TaInvoicePerson taInvoicePerson) throws Exception {
74
-
75
-        iTaInvoiceOrgService.getExistBy("", taInvoicePerson.getName())
82
+    public ResponseBean taInvoicePersonAdd(@ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId,
83
+                                           @ApiParam("保存内容") @RequestBody TaInvoicePerson taInvoicePerson) throws Exception {
84
+        if (StringUtils.isEmpty(taInvoicePerson.getOrgName())) {
85
+            return ResponseBean.error("未找到单位信息");
86
+        }
76 87
 
77
-        if (iTaInvoicePersonService.save(taInvoicePerson)){
88
+        taInvoicePerson.setInvoiceId(invoiceId);
89
+        if (iTaInvoicePersonService.createNew(taInvoicePerson)){
78 90
             return ResponseBean.success(taInvoicePerson);
79 91
         } else {
80 92
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
81 93
         }
82 94
     }
95
+    /**
96
+     * 批量导入
97
+     * @return
98
+     */
99
+    @RequestMapping(value="/admin/invoice/{invoiceId}/person/import",method= RequestMethod.POST)
100
+    @ApiOperation(value="批量导入", notes = "批量导入", httpMethod = "POST", response = ResponseBean.class)
101
+    public ResponseBean upload(@ApiParam("班级ID") @PathVariable(value = "invoiceId") String invoiceId,
102
+                               @ApiParam("保存内容") @RequestParam(value = "file") MultipartFile file) throws Exception {
103
+        iTaInvoicePersonService.batchUpload(invoiceId, file);
104
+        return ResponseBean.success("ok");
105
+    }
83 106
 
84 107
     /**
85 108
      * 根据id删除对象
86 109
      * @param id  实体ID
87 110
      */
88
-    @RequestMapping(value="/admin/invoice/person/{id}", method= RequestMethod.DELETE)
111
+    @RequestMapping(value="/admin/invoice/{invoiceId}/person/{id}", method= RequestMethod.DELETE)
89 112
     @ApiOperation(value="删除", notes = "删除", httpMethod = "DELETE", response = ResponseBean.class)
90
-    public ResponseBean taInvoicePersonDelete(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
91
-        if(iTaInvoicePersonService.removeById(id)){
113
+    public ResponseBean taInvoicePersonDelete(@ApiParam("对象ID") @PathVariable String id) throws Exception{
114
+        if(iTaInvoicePersonService.removeLogicById(id)){
92 115
             return ResponseBean.success("success");
93 116
         }else {
94 117
             return ResponseBean.error("删除失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
95 118
         }
96 119
     }
97 120
 
98
-    /**
99
-     * 修改对象
100
-     * @param id  实体ID
101
-     * @param taInvoicePerson 实体对象
102
-     * @return
103
-     */
104
-    @RequestMapping(value="/admin/invoice/person/{id}",method= RequestMethod.PUT)
105
-    @ApiOperation(value="更新", notes = "更新", httpMethod = "PUT", response = ResponseBean.class)
106
-    public ResponseBean taInvoicePersonUpdate(@ApiParam("对象ID") @PathVariable Integer id,
107
-                                        @ApiParam("更新内容") @RequestBody TaInvoicePerson taInvoicePerson) throws Exception{
108
-
109
-        if (iTaInvoicePersonService.updateById(taInvoicePerson)){
110
-            return ResponseBean.success(iTaInvoicePersonService.getById(id));
111
-        }else {
112
-            return ResponseBean.error("修改失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
113
-        }
114
-    }
115
-
116
-    /**
117
-     * 根据id查询对象
118
-     * @param id  实体ID
119
-     */
120
-    @RequestMapping(value="/admin/invoice/person/{id}",method= RequestMethod.GET)
121
-    @ApiOperation(value="详情", notes = "详情", httpMethod = "GET", response = ResponseBean.class)
122
-    public ResponseBean taInvoicePersonGet(@ApiParam("对象ID") @PathVariable Integer id) throws Exception{
123
-        return ResponseBean.success(iTaInvoicePersonService.getById(id));
124
-    }
125 121
 }

+ 5
- 1
src/main/java/com/njyunzhi/invoice/entity/TaInvoiceDetail.java Bestand weergeven

@@ -2,6 +2,8 @@ package com.njyunzhi.invoice.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4 4
 import java.time.LocalDateTime;
5
+
6
+import com.baomidou.mybatisplus.annotation.TableField;
5 7
 import com.baomidou.mybatisplus.annotation.TableId;
6 8
 import java.io.Serializable;
7 9
 import io.swagger.annotations.ApiModel;
@@ -90,5 +92,7 @@ public class TaInvoiceDetail implements Serializable {
90 92
     @ApiModelProperty(value = "创建日期")
91 93
     private LocalDateTime createDate;
92 94
 
93
-
95
+    @ApiModelProperty("是否结束")
96
+    @TableField(exist = false)
97
+    private Boolean isFinished;
94 98
 }

+ 1
- 1
src/main/java/com/njyunzhi/invoice/entity/TaInvoiceFill.java Bestand weergeven

@@ -27,7 +27,7 @@ public class TaInvoiceFill implements Serializable {
27 27
     private static final long serialVersionUID = 1L;
28 28
 
29 29
     @ApiModelProperty(value = "报销ID")
30
-    @TableId(value = "invoice_id", type = IdType.INPUT)
30
+    @TableId(value = "invoice_id", type = IdType.ASSIGN_UUID)
31 31
     private String invoiceId;
32 32
 
33 33
     @ApiModelProperty(value = "名称")

+ 1
- 3
src/main/java/com/njyunzhi/invoice/entity/TaInvoiceItemTpl.java Bestand weergeven

@@ -27,7 +27,7 @@ public class TaInvoiceItemTpl implements Serializable {
27 27
     private static final long serialVersionUID = 1L;
28 28
 
29 29
     @ApiModelProperty(value = "项目ID")
30
-    @TableId(value = "invoice_item_tpl_id", type = IdType.INPUT)
30
+    @TableId(value = "invoice_item_tpl_id", type = IdType.AUTO)
31 31
     private Integer invoiceItemTplId;
32 32
 
33 33
     @ApiModelProperty(value = "报销ID")
@@ -44,6 +44,4 @@ public class TaInvoiceItemTpl implements Serializable {
44 44
 
45 45
     @ApiModelProperty(value = "创建日期")
46 46
     private LocalDateTime createDate;
47
-
48
-
49 47
 }

+ 1
- 1
src/main/java/com/njyunzhi/invoice/entity/TaInvoiceOrg.java Bestand weergeven

@@ -27,7 +27,7 @@ public class TaInvoiceOrg implements Serializable {
27 27
     private static final long serialVersionUID = 1L;
28 28
 
29 29
     @ApiModelProperty(value = "单位ID")
30
-    @TableId(value = "invoice_org_id", type = IdType.INPUT)
30
+    @TableId(value = "invoice_org_id", type = IdType.ASSIGN_UUID)
31 31
     private String invoiceOrgId;
32 32
 
33 33
     @ApiModelProperty(value = "映射ID")

+ 12
- 1
src/main/java/com/njyunzhi/invoice/entity/TaInvoicePerson.java Bestand weergeven

@@ -1,7 +1,11 @@
1 1
 package com.njyunzhi.invoice.entity;
2 2
 
3
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
4
+import com.alibaba.excel.annotation.ExcelProperty;
3 5
 import com.baomidou.mybatisplus.annotation.IdType;
4 6
 import java.time.LocalDateTime;
7
+
8
+import com.baomidou.mybatisplus.annotation.TableField;
5 9
 import com.baomidou.mybatisplus.annotation.TableId;
6 10
 import java.io.Serializable;
7 11
 import io.swagger.annotations.ApiModel;
@@ -20,7 +24,7 @@ import lombok.experimental.Accessors;
20 24
  */
21 25
 @Data
22 26
 @EqualsAndHashCode(callSuper = false)
23
-@Accessors(chain = true)
27
+@ExcelIgnoreUnannotated
24 28
 @ApiModel(value="TaInvoicePerson对象", description="报销人员")
25 29
 public class TaInvoicePerson implements Serializable {
26 30
 
@@ -39,7 +43,9 @@ public class TaInvoicePerson implements Serializable {
39 43
     @ApiModelProperty(value = "所属单位")
40 44
     private String orgId;
41 45
 
46
+    @ExcelProperty(index = 1)
42 47
     @ApiModelProperty(value = "名称")
48
+    @TableField("`name`")
43 49
     private String name;
44 50
 
45 51
     @ApiModelProperty(value = "人员手机号")
@@ -51,5 +57,10 @@ public class TaInvoicePerson implements Serializable {
51 57
     @ApiModelProperty(value = "创建日期")
52 58
     private LocalDateTime createDate;
53 59
 
60
+    @ApiModelProperty(value = "报销ID")
61
+    private String invoiceId;
54 62
 
63
+    @ExcelProperty(index = 0)
64
+    @ApiModelProperty(value = "单位名称")
65
+    private String orgName;
55 66
 }

+ 4
- 0
src/main/java/com/njyunzhi/invoice/mapper/TaInvoiceDetailMapper.java Bestand weergeven

@@ -3,6 +3,7 @@ package com.njyunzhi.invoice.mapper;
3 3
 import com.njyunzhi.invoice.entity.TaInvoiceDetail;
4 4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 5
 import org.apache.ibatis.annotations.Mapper;
6
+import org.apache.ibatis.annotations.Param;
6 7
 
7 8
 /**
8 9
  * <p>
@@ -15,4 +16,7 @@ import org.apache.ibatis.annotations.Mapper;
15 16
 @Mapper
16 17
 public interface TaInvoiceDetailMapper extends BaseMapper<TaInvoiceDetail> {
17 18
 
19
+    int createBatch(@Param("invoiceId") String invoiceId);
20
+
21
+    TaInvoiceDetail getByPerson(@Param("invoiceId") String invoiceId,@Param("personId") String personId);
18 22
 }

+ 2
- 0
src/main/java/com/njyunzhi/invoice/mapper/TaInvoiceOrgMapper.java Bestand weergeven

@@ -3,6 +3,7 @@ package com.njyunzhi.invoice.mapper;
3 3
 import com.njyunzhi.invoice.entity.TaInvoiceOrg;
4 4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 5
 import org.apache.ibatis.annotations.Mapper;
6
+import org.apache.ibatis.annotations.Param;
6 7
 
7 8
 /**
8 9
  * <p>
@@ -15,4 +16,5 @@ import org.apache.ibatis.annotations.Mapper;
15 16
 @Mapper
16 17
 public interface TaInvoiceOrgMapper extends BaseMapper<TaInvoiceOrg> {
17 18
 
19
+    TaInvoiceOrg getByInvoiceAndOrgName(@Param("invoiceId") String invoiceId, @Param("orgName") String orgName);
18 20
 }

+ 4
- 0
src/main/java/com/njyunzhi/invoice/mapper/TaInvoicePersonMapper.java Bestand weergeven

@@ -3,6 +3,9 @@ package com.njyunzhi.invoice.mapper;
3 3
 import com.njyunzhi.invoice.entity.TaInvoicePerson;
4 4
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
5 5
 import org.apache.ibatis.annotations.Mapper;
6
+import org.apache.ibatis.annotations.Param;
7
+
8
+import java.util.List;
6 9
 
7 10
 /**
8 11
  * <p>
@@ -15,4 +18,5 @@ import org.apache.ibatis.annotations.Mapper;
15 18
 @Mapper
16 19
 public interface TaInvoicePersonMapper extends BaseMapper<TaInvoicePerson> {
17 20
 
21
+    List<TaInvoicePerson> getByName(@Param("invoiceId") String invoiceId, @Param("invoiceOrgId") String invoiceOrgId, @Param("name") String name);
18 22
 }

+ 3
- 0
src/main/java/com/njyunzhi/invoice/service/ITaInvoiceDetailService.java Bestand weergeven

@@ -13,4 +13,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
13 13
  */
14 14
 public interface ITaInvoiceDetailService extends IService<TaInvoiceDetail> {
15 15
 
16
+    boolean createBatch(String invoiceId) throws Exception;
17
+
18
+    TaInvoiceDetail getByPerson(String invoiceId, String personId);
16 19
 }

+ 1
- 2
src/main/java/com/njyunzhi/invoice/service/ITaInvoiceFillService.java Bestand weergeven

@@ -1,7 +1,6 @@
1 1
 package com.njyunzhi.invoice.service;
2 2
 
3 3
 import com.njyunzhi.invoice.entity.TaInvoiceFill;
4
-import com.baomidou.mybatisplus.extension.service.IService;
5 4
 
6 5
 /**
7 6
  * <p>
@@ -11,6 +10,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
11 10
  * @author yansen
12 11
  * @since 2022-07-04
13 12
  */
14
-public interface ITaInvoiceFillService extends IService<TaInvoiceFill> {
13
+public interface ITaInvoiceFillService extends IBaseService<TaInvoiceFill> {
15 14
 
16 15
 }

+ 4
- 0
src/main/java/com/njyunzhi/invoice/service/ITaInvoiceOrgService.java Bestand weergeven

@@ -1,6 +1,7 @@
1 1
 package com.njyunzhi.invoice.service;
2 2
 
3 3
 import com.njyunzhi.invoice.entity.TaInvoiceOrg;
4
+import com.njyunzhi.invoice.entity.TaInvoicePerson;
4 5
 
5 6
 /**
6 7
  * <p>
@@ -12,4 +13,7 @@ import com.njyunzhi.invoice.entity.TaInvoiceOrg;
12 13
  */
13 14
 public interface ITaInvoiceOrgService extends IBaseService<TaInvoiceOrg> {
14 15
 
16
+    TaInvoiceOrg getByOrgName(String invoiceId, String orgName);
17
+
18
+    TaInvoiceOrg createByPerson(TaInvoicePerson taInvoicePerson);
15 19
 }

+ 8
- 0
src/main/java/com/njyunzhi/invoice/service/ITaInvoicePersonService.java Bestand weergeven

@@ -1,6 +1,9 @@
1 1
 package com.njyunzhi.invoice.service;
2 2
 
3 3
 import com.njyunzhi.invoice.entity.TaInvoicePerson;
4
+import org.springframework.web.multipart.MultipartFile;
5
+
6
+import java.util.List;
4 7
 
5 8
 /**
6 9
  * <p>
@@ -12,4 +15,9 @@ import com.njyunzhi.invoice.entity.TaInvoicePerson;
12 15
  */
13 16
 public interface ITaInvoicePersonService extends IBaseService<TaInvoicePerson> {
14 17
 
18
+    List<TaInvoicePerson> getByName(String invoiceId, String invoiceOrgId, String name);
19
+
20
+    boolean createNew(TaInvoicePerson taInvoicePerson) throws Exception;
21
+
22
+    void batchUpload(String invoiceId, MultipartFile file) throws Exception;
15 23
 }

+ 16
- 0
src/main/java/com/njyunzhi/invoice/service/impl/TaInvoiceDetailServiceImpl.java Bestand weergeven

@@ -6,6 +6,8 @@ import com.njyunzhi.invoice.service.ITaInvoiceDetailService;
6 6
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 7
 import org.springframework.stereotype.Service;
8 8
 
9
+import java.util.HashMap;
10
+
9 11
 /**
10 12
  * <p>
11 13
  * 报销明细 服务实现类
@@ -17,4 +19,18 @@ import org.springframework.stereotype.Service;
17 19
 @Service
18 20
 public class TaInvoiceDetailServiceImpl extends ServiceImpl<TaInvoiceDetailMapper, TaInvoiceDetail> implements ITaInvoiceDetailService {
19 21
 
22
+    @Override
23
+    public boolean createBatch(String invoiceId) throws Exception {
24
+        // 先删除原有数据
25
+        removeByMap(new HashMap<String, Object>(){{
26
+            put("invoice_id", invoiceId);
27
+        }});
28
+
29
+        return baseMapper.createBatch(invoiceId) > 0;
30
+    }
31
+
32
+    @Override
33
+    public TaInvoiceDetail getByPerson(String invoiceId, String personId) {
34
+        return baseMapper.getByPerson(invoiceId, personId);
35
+    }
20 36
 }

+ 1
- 2
src/main/java/com/njyunzhi/invoice/service/impl/TaInvoiceFillServiceImpl.java Bestand weergeven

@@ -3,7 +3,6 @@ package com.njyunzhi.invoice.service.impl;
3 3
 import com.njyunzhi.invoice.entity.TaInvoiceFill;
4 4
 import com.njyunzhi.invoice.mapper.TaInvoiceFillMapper;
5 5
 import com.njyunzhi.invoice.service.ITaInvoiceFillService;
6
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7 6
 import org.springframework.stereotype.Service;
8 7
 
9 8
 /**
@@ -15,6 +14,6 @@ import org.springframework.stereotype.Service;
15 14
  * @since 2022-07-04
16 15
  */
17 16
 @Service
18
-public class TaInvoiceFillServiceImpl extends ServiceImpl<TaInvoiceFillMapper, TaInvoiceFill> implements ITaInvoiceFillService {
17
+public class TaInvoiceFillServiceImpl extends BaseServiceImpl<TaInvoiceFillMapper, TaInvoiceFill> implements ITaInvoiceFillService {
19 18
 
20 19
 }

+ 18
- 0
src/main/java/com/njyunzhi/invoice/service/impl/TaInvoiceOrgServiceImpl.java Bestand weergeven

@@ -1,6 +1,9 @@
1 1
 package com.njyunzhi.invoice.service.impl;
2 2
 
3
+import com.njyunzhi.invoice.common.Constants;
4
+import com.njyunzhi.invoice.common.DateUtils;
3 5
 import com.njyunzhi.invoice.entity.TaInvoiceOrg;
6
+import com.njyunzhi.invoice.entity.TaInvoicePerson;
4 7
 import com.njyunzhi.invoice.mapper.TaInvoiceOrgMapper;
5 8
 import com.njyunzhi.invoice.service.ITaInvoiceOrgService;
6 9
 import org.springframework.stereotype.Service;
@@ -16,4 +19,19 @@ import org.springframework.stereotype.Service;
16 19
 @Service
17 20
 public class TaInvoiceOrgServiceImpl extends BaseServiceImpl<TaInvoiceOrgMapper, TaInvoiceOrg> implements ITaInvoiceOrgService {
18 21
 
22
+    @Override
23
+    public TaInvoiceOrg getByOrgName(String invoiceId, String orgName) {
24
+        return baseMapper.getByInvoiceAndOrgName(invoiceId, orgName);
25
+    }
26
+
27
+    @Override
28
+    public TaInvoiceOrg createByPerson(TaInvoicePerson taInvoicePerson) {
29
+        TaInvoiceOrg taInvoiceOrg = new TaInvoiceOrg();
30
+        taInvoiceOrg.setName(taInvoicePerson.getOrgName());
31
+        taInvoiceOrg.setStatus(Constants.STATUS_NORMAL);
32
+        taInvoiceOrg.setCreateDate(DateUtils.now());
33
+
34
+        save(taInvoiceOrg);
35
+        return taInvoiceOrg;
36
+    }
19 37
 }

+ 71
- 0
src/main/java/com/njyunzhi/invoice/service/impl/TaInvoicePersonServiceImpl.java Bestand weergeven

@@ -1,9 +1,21 @@
1 1
 package com.njyunzhi.invoice.service.impl;
2 2
 
3
+import com.alibaba.excel.EasyExcel;
4
+import com.alibaba.excel.read.listener.PageReadListener;
5
+import com.alibaba.excel.support.ExcelTypeEnum;
6
+import com.njyunzhi.invoice.common.Constants;
7
+import com.njyunzhi.invoice.common.DateUtils;
8
+import com.njyunzhi.invoice.entity.TaInvoiceOrg;
3 9
 import com.njyunzhi.invoice.entity.TaInvoicePerson;
10
+import com.njyunzhi.invoice.mapper.TaInvoiceOrgMapper;
4 11
 import com.njyunzhi.invoice.mapper.TaInvoicePersonMapper;
5 12
 import com.njyunzhi.invoice.service.ITaInvoicePersonService;
13
+import org.springframework.beans.factory.annotation.Autowired;
6 14
 import org.springframework.stereotype.Service;
15
+import org.springframework.web.multipart.MultipartFile;
16
+
17
+import java.time.LocalDateTime;
18
+import java.util.List;
7 19
 
8 20
 /**
9 21
  * <p>
@@ -16,4 +28,63 @@ import org.springframework.stereotype.Service;
16 28
 @Service
17 29
 public class TaInvoicePersonServiceImpl extends BaseServiceImpl<TaInvoicePersonMapper, TaInvoicePerson> implements ITaInvoicePersonService {
18 30
 
31
+    @Autowired
32
+    TaInvoiceOrgMapper taInvoiceOrgMapper;
33
+
34
+    @Override
35
+    public List<TaInvoicePerson> getByName(String invoiceId, String invoiceOrgId, String name) {
36
+        return baseMapper.getByName(invoiceId, invoiceOrgId, name);
37
+    }
38
+
39
+    @Override
40
+    public boolean createNew(TaInvoicePerson taInvoicePerson) throws Exception {
41
+        TaInvoiceOrg taInvoiceOrg = taInvoiceOrgMapper.getByInvoiceAndOrgName(taInvoicePerson.getInvoiceId(), taInvoicePerson.getOrgName());
42
+        if (null == taInvoiceOrg) {
43
+            taInvoiceOrg = createByPerson(taInvoicePerson);
44
+        }
45
+        taInvoicePerson.setInvoiceOrgId(taInvoiceOrg.getInvoiceOrgId());
46
+
47
+        List<TaInvoicePerson> list = getByName(taInvoicePerson.getInvoiceId(), taInvoicePerson.getInvoiceOrgId(), taInvoicePerson.getName());
48
+        if (null != list && list.size() > 0) {
49
+            throw new Exception("人员名称重复");
50
+        }
51
+
52
+        taInvoicePerson.setStatus(Constants.STATUS_NORMAL);
53
+        taInvoicePerson.setCreateDate(DateUtils.now());
54
+
55
+        return save(taInvoicePerson);
56
+    }
57
+
58
+    @Override
59
+    public void batchUpload(String invoiceId, MultipartFile file) throws Exception {
60
+        LocalDateTime now = DateUtils.now();
61
+        EasyExcel.read(file.getInputStream(), TaInvoicePerson.class, new PageReadListener<TaInvoicePerson>(list -> {
62
+            for(TaInvoicePerson person : list) {
63
+                TaInvoiceOrg taInvoiceOrg = taInvoiceOrgMapper.getByInvoiceAndOrgName(invoiceId, person.getOrgName());
64
+                if (null == taInvoiceOrg) {
65
+                    taInvoiceOrg = createByPerson(person);
66
+                }
67
+                person.setInvoiceOrgId(taInvoiceOrg.getInvoiceOrgId());
68
+
69
+                List<TaInvoicePerson> exists = getByName(invoiceId, person.getInvoiceOrgId(), person.getName());
70
+                if (null != exists && exists.size() > 0) {
71
+                    continue;
72
+                }
73
+
74
+                person.setStatus(Constants.STATUS_NORMAL);
75
+                person.setCreateDate(now);
76
+                baseMapper.insert(person);
77
+            }
78
+        })).excelType(ExcelTypeEnum.XLSX).sheet().headRowNumber(1).doRead();
79
+    }
80
+
81
+    private TaInvoiceOrg createByPerson(TaInvoicePerson taInvoicePerson) {
82
+        TaInvoiceOrg taInvoiceOrg = new TaInvoiceOrg();
83
+        taInvoiceOrg.setName(taInvoicePerson.getOrgName());
84
+        taInvoiceOrg.setStatus(Constants.STATUS_NORMAL);
85
+        taInvoiceOrg.setCreateDate(DateUtils.now());
86
+
87
+        taInvoiceOrgMapper.insert(taInvoiceOrg);
88
+        return taInvoiceOrg;
89
+    }
19 90
 }

+ 0
- 14
src/main/resources/mapper/SysBankMapper.xml Bestand weergeven

@@ -2,18 +2,4 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.njyunzhi.invoice.mapper.SysBankMapper">
4 4
 
5
-    <select id="getBankList" resultType="com.njyunzhi.invoice.entity.SysBank">
6
-        SELECT * FROM sys_bank WHERE LIMIT #{pageNum},#{pageSize}
7
-    </select>
8
-    <delete id="deleteBankId">
9
-        DELETE * FROM sys_bank WHERE id=#{id}
10
-    </delete>
11
-    <update id="updBankId">
12
-        UPDATE sys_bank SET
13
-        <if test="name!=null">name=#{name},</if>
14
-        <if test="card_no!=null">card_no=#{card_no},</if>
15
-        <if test="status!=null">status=#{status},</if>
16
-        <if test="create_date!=null">create_date=#{create_date},</if>
17
-        WHERE id=#{id}
18
-    </update>
19 5
 </mapper>

+ 64
- 0
src/main/resources/mapper/TaInvoiceDetailMapper.xml Bestand weergeven

@@ -2,4 +2,68 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.njyunzhi.invoice.mapper.TaInvoiceDetailMapper">
4 4
 
5
+    <insert id="createBatch">
6
+
7
+        INSERT INTO ta_invoice_detail (
8
+            `detail_id`,
9
+            `invoice_id`,
10
+            `invoice_person_id`,
11
+            `person_id`,
12
+            `person_name`,
13
+            `invoice_org_id`,
14
+            `org_id`,
15
+            `org_name`,
16
+            `tax_no`,
17
+            `address`,
18
+            `phone`,
19
+            `bank_id`,
20
+            `bank_name`,
21
+            `card_no`,
22
+            `invoice_item_tpl_id`,
23
+            `item_name`,
24
+            `charge`,
25
+            `merge_remark`,
26
+            `stay_remark`,
27
+            `status`,
28
+            `create_date`
29
+        ) SELECT
30
+              UUID_SHORT( ),
31
+              t.invoice_id,
32
+              t.invoice_person_id,
33
+              NULL,
34
+              t.`name`,
35
+              t.invoice_org_id,
36
+              NULL,
37
+              t.org_name,
38
+              NULL,
39
+              NULL,
40
+              NULL,
41
+              NULL,
42
+              NULL,
43
+              NULL,
44
+              s.invoice_item_tpl_id,
45
+              s.`name`,
46
+              s.charge,
47
+              NULL,
48
+              NULL,
49
+              1,
50
+              now( )
51
+        FROM
52
+            ta_invoice_person t
53
+                INNER JOIN ta_invoice_item_tpl s ON t.invoice_id = s.invoice_id
54
+        WHERE
55
+            t.invoice_id = #{invoiceId}
56
+          AND t.`status` &gt; -1
57
+          AND s.`status` &gt; -1
58
+    </insert>
59
+    <select id="getByPerson" resultType="com.njyunzhi.invoice.entity.TaInvoiceDetail">
60
+        SELECT
61
+            *
62
+        FROM
63
+            ta_invoice_detail t
64
+        WHERE
65
+            t.invoice_id = #{invoiceId}
66
+          AND t.person_id = #{personId}
67
+          AND t.`status` &gt; -1
68
+    </select>
5 69
 </mapper>

+ 0
- 1
src/main/resources/mapper/TaInvoiceFillMapper.xml Bestand weergeven

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

+ 10
- 0
src/main/resources/mapper/TaInvoiceOrgMapper.xml Bestand weergeven

@@ -2,4 +2,14 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.njyunzhi.invoice.mapper.TaInvoiceOrgMapper">
4 4
 
5
+    <select id="getByInvoiceAndOrgName" resultType="com.njyunzhi.invoice.entity.TaInvoiceOrg">
6
+        SELECT
7
+            *
8
+        FROM
9
+            ta_invoice_person t
10
+        WHERE
11
+            t.`status` &gt; -1
12
+          AND t.invoice_id = #{invoiceId}
13
+          AND t.org_name = #{orgName}
14
+    </select>
5 15
 </mapper>

+ 11
- 0
src/main/resources/mapper/TaInvoicePersonMapper.xml Bestand weergeven

@@ -2,4 +2,15 @@
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.njyunzhi.invoice.mapper.TaInvoicePersonMapper">
4 4
 
5
+    <select id="getByName" resultType="com.njyunzhi.invoice.entity.TaInvoicePerson">
6
+        SELECT
7
+            *
8
+        FROM
9
+            ta_invoice_person t
10
+        WHERE
11
+            t.invoice_id = #{invoiceId}
12
+          AND t.invoice_org_id = #{invoiceOrgId}
13
+          AND t.`name` = #{name}
14
+          AND t.`status` &gt; -1
15
+    </select>
5 16
 </mapper>