张延森 2 年前
父节点
当前提交
26f4227d6d

+ 33
- 9
src/main/java/com/njyunzhi/invoice/controller/TaInvoiceDetailController.java 查看文件

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6 6
 import com.njyunzhi.invoice.common.*;
7 7
 import com.njyunzhi.invoice.entity.*;
8 8
 import com.njyunzhi.invoice.service.ITaInvoiceFillService;
9
+import com.njyunzhi.invoice.service.ITaInvoiceItemService;
9 10
 import io.swagger.annotations.Api;
10 11
 import io.swagger.annotations.ApiOperation;
11 12
 import io.swagger.annotations.ApiParam;
@@ -21,6 +22,7 @@ import com.njyunzhi.invoice.service.ITaInvoiceDetailService;
21 22
 import org.springframework.web.bind.annotation.RestController;
22 23
 
23 24
 import java.util.HashMap;
25
+import java.util.List;
24 26
 import java.util.Map;
25 27
 
26 28
 /**
@@ -45,6 +47,9 @@ public class TaInvoiceDetailController extends BaseController {
45 47
     @Autowired
46 48
     public ITaInvoiceFillService iTaInvoiceFillService;
47 49
 
50
+    @Autowired
51
+    public ITaInvoiceItemService iTaInvoiceItemService;
52
+
48 53
 
49 54
     /**
50 55
      * 分页查询列表
@@ -96,8 +101,8 @@ public class TaInvoiceDetailController extends BaseController {
96 101
         }
97 102
     }
98 103
 
99
-    @RequestMapping(value="/admin/invoice/{invoiceId}/detail-tpl/item/{itemId}",method= RequestMethod.POST)
100
-    @ApiOperation(value="添加或者修改项目", notes = "添加或者修改项目", httpMethod = "POST", response = ResponseBean.class)
104
+    @RequestMapping(value="/admin/invoice/{invoiceId}/detail-tpl/item/{itemId}",method= RequestMethod.DELETE)
105
+    @ApiOperation(value="删除模板项目", notes = "删除模板项目", httpMethod = "DELETE", response = ResponseBean.class)
101 106
     public ResponseBean createNew(@ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId,
102 107
                                   @ApiParam("报销项目ITEM") @PathVariable(value ="itemId") Integer itemId) throws Exception {
103 108
         if (iTaInvoiceDetailService.deleteItem(invoiceId, itemId)){
@@ -115,10 +120,10 @@ public class TaInvoiceDetailController extends BaseController {
115 120
         if (StringUtils.isEmpty(taInvoiceDetail.getInvoicePersonId())) {
116 121
             return ResponseBean.error("未选择报销人员");
117 122
         }
118
-
119
-        if (null == taInvoiceDetail.getItemList() || taInvoiceDetail.getItemList().size() < 1) {
120
-            return ResponseBean.error("未找到报销明细");
121
-        }
123
+//
124
+//        if (null == taInvoiceDetail.getItemList() || taInvoiceDetail.getItemList().size() < 1) {
125
+//            return ResponseBean.error("未找到报销明细");
126
+//        }
122 127
 
123 128
         TaInvoiceFill taInvoiceFill = iTaInvoiceFillService.getById(invoiceId);
124 129
         if (null == taInvoiceFill || taInvoiceFill.getStatus() == Constants.STATUS_DELETE) {
@@ -148,11 +153,16 @@ public class TaInvoiceDetailController extends BaseController {
148 153
     @ApiOperation(value="获取报销单信息", notes = "获取报销单信息", httpMethod = "GET", response = ResponseBean.class)
149 154
     public ResponseBean getDetailByPerson(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
150 155
                                           @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
151
-                                          @ApiParam("班级ID") @PathVariable(value ="invoiceId") String invoiceId,
152
-                                          @ApiParam("人员名称") @RequestParam(value ="personName", required = false) String personName) throws Exception{
156
+                                          @ApiParam("班级ID") @PathVariable(value ="invoiceId", required = false) String invoiceId,
157
+                                          @ApiParam("人员ID") @PathVariable(value ="personId", required = false) String personId,
158
+                                          @ApiParam("人员名称") @RequestParam(value ="personName", required = false) String personName) throws Exception {
159
+
160
+        if (StringUtils.isEmpty(invoiceId) && StringUtils.isEmpty(personId)) {
161
+            return ResponseBean.error("人员ID或者班级ID不能为空");
162
+        }
153 163
 
154 164
         IPage<TaInvoiceDetail> page = new Page<>(pageNum, pageSize);
155
-        return ResponseBean.success(iTaInvoiceDetailService.getPersonPage(page, invoiceId, personName));
165
+        return ResponseBean.success(iTaInvoiceDetailService.getPersonPage(page, invoiceId, personId, personName));
156 166
     }
157 167
 
158 168
     @RequestMapping(value="/h5/invoice/{invoiceId}/detail/info",method= RequestMethod.GET)
@@ -192,6 +202,20 @@ public class TaInvoiceDetailController extends BaseController {
192 202
             return ResponseBean.error("找不到报销数据信息");
193 203
         }
194 204
 
205
+        // 获取明细
206
+        if (StringUtils.isEmpty(invoicePersonId)) {
207
+            invoicePersonId = taInvoiceDetail.getInvoicePersonId();
208
+        }
209
+
210
+        List<TaInvoiceItem> itemList = iTaInvoiceItemService.getListByPerson(invoiceId, invoicePersonId);
211
+        if (null != taInvoiceDetailTPl) {
212
+            taInvoiceDetailTPl.setItemList(itemList);
213
+        }
214
+        if (null != taInvoiceDetail) {
215
+            taInvoiceDetail.setItemList(itemList);
216
+        }
217
+
218
+
195 219
         Map<String, Object> resp = new HashMap<>();
196 220
         resp.put("detail", taInvoiceDetail);
197 221
         resp.put("tpl", taInvoiceDetailTPl);

+ 1
- 1
src/main/java/com/njyunzhi/invoice/controller/TaInvoiceItemTplController.java 查看文件

@@ -108,7 +108,7 @@ public class TaInvoiceItemTplController extends BaseController {
108 108
         taInvoiceItemTpl.setInvoiceId(invoiceId);
109 109
         if (iTaInvoiceItemTplService.updateById(taInvoiceItemTpl)){
110 110
             return ResponseBean.success(iTaInvoiceItemTplService.getById(id));
111
-        }else {
111
+        } else {
112 112
             return ResponseBean.error("修改失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);
113 113
         }
114 114
     }

+ 6
- 2
src/main/java/com/njyunzhi/invoice/entity/TaInvoiceDetail.java 查看文件

@@ -33,12 +33,16 @@ public class TaInvoiceDetail implements Serializable {
33 33
     private static final long serialVersionUID = 1L;
34 34
 
35 35
     @ApiModelProperty(value = "明细ID")
36
-    @TableId(value = "detail_id", type = IdType.INPUT)
36
+    @TableId(value = "detail_id", type = IdType.ASSIGN_UUID)
37 37
     private String detailId;
38 38
 
39 39
     @ApiModelProperty(value = "报销ID")
40 40
     private String invoiceId;
41 41
 
42
+    @TableField(exist = false)
43
+    @ApiModelProperty(value = "报销单名称")
44
+    private String invoiceName;
45
+
42 46
     @ApiModelProperty(value = "人员ID")
43 47
     private String invoicePersonId;
44 48
 
@@ -86,7 +90,7 @@ public class TaInvoiceDetail implements Serializable {
86 90
     private String cardNo;
87 91
 
88 92
     @ApiModelProperty(value = "报销项目ID")
89
-    private Integer invoiceItemTplId;
93
+    private Integer invoiceItemId;
90 94
 
91 95
     @ExcelProperty(index = 8)
92 96
     @ApiModelProperty(value = "报销项目")

+ 4
- 1
src/main/java/com/njyunzhi/invoice/mapper/TaInvoiceDetailMapper.java 查看文件

@@ -32,7 +32,10 @@ public interface TaInvoiceDetailMapper extends BaseMapper<TaInvoiceDetail> {
32 32
 
33 33
     int removeTplById(@Param("id") String id);
34 34
 
35
-    IPage<TaInvoiceDetail> getPersonPage(IPage<TaInvoiceDetail> page, @Param("invoiceId") String invoiceId, @Param("personName") String personName);
35
+    IPage<TaInvoiceDetail> getPersonPage(IPage<TaInvoiceDetail> page,
36
+                                         @Param("invoiceId") String invoiceId,
37
+                                         @Param("personId") String personId,
38
+                                         @Param("personName") String personName);
36 39
 
37 40
     TaInvoiceDetail getTplByPerson(@Param("invoiceId") String invoiceId, @Param("invoicePersonId") String invoicePersonId);
38 41
 }

+ 4
- 0
src/main/java/com/njyunzhi/invoice/mapper/TaInvoiceItemMapper.java 查看文件

@@ -5,6 +5,8 @@ import com.njyunzhi.invoice.entity.TaInvoiceItem;
5 5
 import org.apache.ibatis.annotations.Mapper;
6 6
 import org.apache.ibatis.annotations.Param;
7 7
 
8
+import java.util.List;
9
+
8 10
 /**
9 11
  * <p>
10 12
  * 报销项目模板 Mapper 接口
@@ -21,4 +23,6 @@ public interface TaInvoiceItemMapper extends BaseMapper<TaInvoiceItem> {
21 23
     TaInvoiceItem getByPersonAndName(@Param("invoiceId") String invoiceId,
22 24
                                      @Param("invoicePersonId") String invoicePersonId,
23 25
                                      @Param("name") String name);
26
+
27
+    List<TaInvoiceItem> getListByPerson(@Param("invoiceId") String invoiceId, @Param("invoicePersonId") String invoicePersonId);
24 28
 }

+ 1
- 1
src/main/java/com/njyunzhi/invoice/service/ITaInvoiceDetailService.java 查看文件

@@ -28,7 +28,7 @@ public interface ITaInvoiceDetailService extends IService<TaInvoiceDetail> {
28 28
 
29 29
     TaInvoiceDetail getTplByPerson(String invoiceId, String invoicePersonId);
30 30
 
31
-    IPage<TaInvoiceDetail> getPersonPage(IPage<TaInvoiceDetail> page, String invoiceId, String personName);
31
+    IPage<TaInvoiceDetail> getPersonPage(IPage<TaInvoiceDetail> page, String invoiceId, String personId, String personName);
32 32
 
33 33
     boolean createOrMergeInvoiceDetail(TaInvoiceDetail taInvoiceDetail);
34 34
 

+ 3
- 0
src/main/java/com/njyunzhi/invoice/service/ITaInvoiceItemService.java 查看文件

@@ -3,6 +3,8 @@ package com.njyunzhi.invoice.service;
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.njyunzhi.invoice.entity.TaInvoiceItem;
5 5
 
6
+import java.util.List;
7
+
6 8
 /**
7 9
  * <p>
8 10
  * 报销项目模板 服务类
@@ -13,4 +15,5 @@ import com.njyunzhi.invoice.entity.TaInvoiceItem;
13 15
  */
14 16
 public interface ITaInvoiceItemService extends IService<TaInvoiceItem> {
15 17
 
18
+    List<TaInvoiceItem> getListByPerson(String invoiceId, String invoicePersonId);
16 19
 }

+ 11
- 6
src/main/java/com/njyunzhi/invoice/service/impl/TaInvoiceDetailServiceImpl.java 查看文件

@@ -13,6 +13,7 @@ import com.njyunzhi.invoice.mapper.TaInvoiceItemMapper;
13 13
 import com.njyunzhi.invoice.mapper.TaInvoiceItemTplMapper;
14 14
 import com.njyunzhi.invoice.service.ITaInvoiceDetailService;
15 15
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
16
+import org.springframework.beans.BeanUtils;
16 17
 import org.springframework.beans.factory.annotation.Autowired;
17 18
 import org.springframework.stereotype.Service;
18 19
 
@@ -72,22 +73,24 @@ public class TaInvoiceDetailServiceImpl extends ServiceImpl<TaInvoiceDetailMappe
72 73
     }
73 74
 
74 75
     @Override
75
-    public IPage<TaInvoiceDetail> getPersonPage(IPage<TaInvoiceDetail> page, String invoiceId, String personName) {
76
-        return baseMapper.getPersonPage(page, invoiceId, personName);
76
+    public IPage<TaInvoiceDetail> getPersonPage(IPage<TaInvoiceDetail> page, String invoiceId, String personId, String personName) {
77
+        return baseMapper.getPersonPage(page, invoiceId, personId, personName);
77 78
     }
78 79
 
79 80
     @Override
80 81
     public boolean createOrMergeInvoiceDetail(TaInvoiceDetail taInvoiceDetail) {
81
-        // 更新报销项目
82
-        for (TaInvoiceItem item : taInvoiceDetail.getItemList()) {
83
-            taInvoiceItemMapper.updateById(item);
84
-        }
82
+//        // 更新报销项目
83
+//        for (TaInvoiceItem item : taInvoiceDetail.getItemList()) {
84
+//            taInvoiceItemMapper.updateById(item);
85
+//        }
85 86
 
86 87
         // 查询原始记录
87 88
         TaInvoiceDetail origin = baseMapper.getByPerson(taInvoiceDetail.getInvoiceId(), taInvoiceDetail.getPersonId());
88 89
 
89 90
         // 如果不是新生成, 二次编辑
90 91
         if (null != origin) {
92
+            origin.setInvoicePersonId(taInvoiceDetail.getInvoicePersonId());
93
+            origin.setPersonName(taInvoiceDetail.getPersonName());
91 94
             origin.setInvoiceOrgId(taInvoiceDetail.getInvoiceOrgId());
92 95
             origin.setInvoiceOrgName(taInvoiceDetail.getInvoiceOrgName());
93 96
             origin.setOrgId(taInvoiceDetail.getOrgId());
@@ -99,6 +102,8 @@ public class TaInvoiceDetailServiceImpl extends ServiceImpl<TaInvoiceDetailMappe
99 102
             origin.setBankName(taInvoiceDetail.getBankName());
100 103
             origin.setCardNo(taInvoiceDetail.getCardNo());
101 104
             origin.setPersonId(taInvoiceDetail.getPersonId());
105
+            origin.setMergeRemark(taInvoiceDetail.getMergeRemark());
106
+            origin.setStayRemark(taInvoiceDetail.getStayRemark());
102 107
 
103 108
             return updateById(origin);
104 109
         }

+ 6
- 0
src/main/java/com/njyunzhi/invoice/service/impl/TaInvoiceItemServiceImpl.java 查看文件

@@ -6,6 +6,8 @@ import com.njyunzhi.invoice.mapper.TaInvoiceItemMapper;
6 6
 import com.njyunzhi.invoice.service.ITaInvoiceItemService;
7 7
 import org.springframework.stereotype.Service;
8 8
 
9
+import java.util.List;
10
+
9 11
 /**
10 12
  * <p>
11 13
  * 报销项目模板 服务实现类
@@ -17,4 +19,8 @@ import org.springframework.stereotype.Service;
17 19
 @Service
18 20
 public class TaInvoiceItemServiceImpl extends ServiceImpl<TaInvoiceItemMapper, TaInvoiceItem> implements ITaInvoiceItemService {
19 21
 
22
+    @Override
23
+    public List<TaInvoiceItem> getListByPerson(String invoiceId, String invoicePersonId) {
24
+        return baseMapper.getListByPerson(invoiceId, invoicePersonId);
25
+    }
20 26
 }

+ 11
- 3
src/main/resources/mapper/TaInvoiceDetailMapper.xml 查看文件

@@ -131,7 +131,7 @@
131 131
         WHERE
132 132
             t.invoice_id = #{invoiceId}
133 133
           AND t.`status` &gt; -1
134
-          AND s.`status` &gt; 1
134
+          AND s.`status` &gt; -1
135 135
         ORDER BY
136 136
             t.org_name ASC,
137 137
             t.`name` ASC,
@@ -139,11 +139,19 @@
139 139
     </select>
140 140
     <select id="getPersonPage" resultType="com.njyunzhi.invoice.entity.TaInvoiceDetail">
141 141
         SELECT
142
-            t.*
142
+            t.*,
143
+            s.`name` as invoice_name
143 144
         FROM
144 145
             ta_invoice_detail t
146
+            INNER JOIN ta_invoice_fill s ON s.invoice_id = t.invoice_id
145 147
         WHERE
146
-            t.invoice_id = #{invoiceId}
148
+            t.`status` &gt; -1
149
+        <if test="invoiceId != null and invoiceId != ''">
150
+            AND t.invoice_id = #{invoiceId}
151
+        </if>
152
+          <if test="personId != null and personId != ''">
153
+              AND t.person_id = #{personId}
154
+          </if>
147 155
           <if test="personName != null and personName != ''">
148 156
               AND t.person_name LIKE CONCAT( '%', #{personName}, '%' )
149 157
           </if>

+ 11
- 0
src/main/resources/mapper/TaInvoiceItemMapper.xml 查看文件

@@ -30,4 +30,15 @@
30 30
           AND t.`name` = #{name}
31 31
           AND t.`status` = 1
32 32
     </select>
33
+    <select id="getListByPerson" resultType="com.njyunzhi.invoice.entity.TaInvoiceItem">
34
+        SELECT
35
+            *
36
+        FROM
37
+            ta_invoice_item t
38
+        WHERE
39
+            t.invoice_id = #{invoiceId}
40
+          AND t.`invoice_person_id` = #{invoicePersonId}
41
+          AND t.`status` = 1
42
+        ORDER BY t.`name` ASC
43
+    </select>
33 44
 </mapper>

+ 2
- 2
src/main/resources/mapper/TaInvoiceOrgMapper.xml 查看文件

@@ -6,10 +6,10 @@
6 6
         SELECT
7 7
             *
8 8
         FROM
9
-            ta_invoice_person t
9
+            ta_invoice_org t
10 10
         WHERE
11 11
             t.`status` &gt; -1
12 12
           AND t.invoice_id = #{invoiceId}
13
-          AND t.org_name = #{orgName}
13
+          AND t.`name` = #{orgName}
14 14
     </select>
15 15
 </mapper>