Browse Source

完成 缴费单模板下载, app端匹配缴费单, 楼栋资料库匹配缴费单

weiximei 6 years ago
parent
commit
ab55f3884e

+ 4
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/dao/TpBillInvoiceMapper.java View File

@@ -47,4 +47,8 @@ public interface TpBillInvoiceMapper {
47 47
 	TpBillInvoice selectByIdAndUserId(@Param("id") Integer billInvoiceId,@Param("userId") Integer userId,@Param("communityId") Integer communityId);
48 48
     
49 49
     TpBillInvoice selectByOutTradeNo(@Param("outTradeNo") String outTradeNo);
50
+
51
+    List<TpBillInvoice> selectByBuildingOwnerInfoId(@Param("buildingOwnerInfoId") Integer buildingOwnerInfoId);
52
+
53
+    int updateBeach(Map<String, Object> map);
50 54
 }

+ 12
- 0
CODE/smart-community/app-api/src/main/java/com/community/huiju/service/impl/TaUserServiceImpl.java View File

@@ -68,6 +68,9 @@ public class TaUserServiceImpl implements ITaUserService {
68 68
     @Autowired
69 69
     private TaFaceMapper taFaceMapper;
70 70
 
71
+    @Autowired
72
+    private TpBillInvoiceMapper tpBillInvoiceMapper;
73
+
71 74
     @Transactional(rollbackFor = Exception.class)
72 75
     @Override
73 76
     @Deprecated
@@ -211,6 +214,15 @@ public class TaUserServiceImpl implements ITaUserService {
211 214
             buildingOwnerInfo.setUpdateDate(new Date());
212 215
             tpBuildingOwnerInfoMapper.updateByPrimaryKeySelective(buildingOwnerInfo);
213 216
 
217
+            // 开始绑定缴费单
218
+            List<TpBillInvoice> tpBillInvoices = tpBillInvoiceMapper.selectByBuildingOwnerInfoId(buildingOwnerInfo.getId());
219
+            if (CollectionUtils.isNotEmpty(tpBillInvoices)) {
220
+                Map<String, Object> map = new HashMap<>();
221
+                map.put("taUserId", user.getId());
222
+                map.put("list", tpBillInvoices);
223
+                tpBillInvoiceMapper.updateBeach(map);
224
+            }
225
+
214 226
         }
215 227
 
216 228
         // 更新

+ 17
- 0
CODE/smart-community/app-api/src/main/resources/mapper/TpBillInvoiceMapper.xml View File

@@ -307,4 +307,21 @@
307 307
 	where t.out_trade_no = #{outTradeNo,jdbcType=VARCHAR}
308 308
 	and t.status = 1
309 309
   </select>
310
+
311
+    <select id="selectByBuildingOwnerInfoId" parameterType="integer" resultMap="BaseResultMap" >
312
+        select
313
+        <include refid="Base_Column_List"/>
314
+        from tp_bill_invoice
315
+        where bill_statement_id = #{buildingOwnerInfoId,jdbcType=INTEGER}
316
+    </select>
317
+
318
+    <update id="updateBeach" parameterType="map" >
319
+        update tp_bill_invoice
320
+        set ta_user_id = #{map.taUserId}
321
+        where id in
322
+      <foreach collection="map.list" item="item" index="index" separator="," open="(" close=")">
323
+          #{item.id}
324
+      </foreach>
325
+    </update>
326
+
310 327
 </mapper>

+ 6
- 6
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/BillInvoiceServiceImpl.java View File

@@ -226,12 +226,12 @@ public class BillInvoiceServiceImpl extends ServiceImpl<BillInvoiceMapper, BillI
226 226
         Double payPrice = jsonObject.getDouble("payPrice");
227 227
 
228 228
         // 判断是不是已经 收费完成
229
-        Bill bill = billMapper.selectById(billId);
230
-        if ("1".equals(bill.getBillStatus())) {
231
-            // 状态 收费完成, 不允许添加收费单
232
-            responseBean.addError("不能给收费已完成的收费组添加收费单!");
233
-            return responseBean;
234
-        }
229
+//        Bill bill = billMapper.selectById(billId);
230
+//        if ("1".equals(bill.getBillStatus())) {
231
+//            // 状态 收费完成, 不允许添加收费单
232
+//            responseBean.addError("不能给收费已完成的收费组添加收费单!");
233
+//            return responseBean;
234
+//        }
235 235
 
236 236
         // 楼栋资料库
237 237
         QueryWrapper<TpBuildingOwnerInfo> queryWrapper = new QueryWrapper<>();

+ 8
- 2
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/BillServiceImpl.java View File

@@ -275,7 +275,11 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements IB
275 275
                     throw new WisdomException("请输入正确的用户信息! ");
276 276
                 }
277 277
 
278
-                // TODO 如果用户不在 app 里面,没有关联, 怎么处理?
278
+                /**
279
+                 * 如果用户不在 app 里面,没有关联, 那么就设置 taUserId
280
+                 * 等业主第一次登陆的时候, 再去自动匹配上去
281
+                 */
282
+
279 283
                 // 查询app用户id
280 284
                 QueryWrapper<TaUser> userQueryWrapper = new QueryWrapper<>();
281 285
                 userQueryWrapper.eq("community_id", userElement.getCommunityId());
@@ -283,7 +287,9 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements IB
283 287
                 TaUser taUser = taUserMapper.selectOne(userQueryWrapper);
284 288
 
285 289
                 billInvoice.setBuildingOwnerInfoId(buildingOwnerInfo.getId());
286
-                billInvoice.setTaUserId(taUser.getId());
290
+                if (null != taUser) {
291
+                    billInvoice.setTaUserId(taUser.getId());
292
+                }
287 293
                 billInvoice.setBillInvoiceExplain(bill.getBillExplain());
288 294
                 billInvoice.setPayPrice(e.getMoney());
289 295
                 billInvoice.setBillStatus("0");

+ 32
- 10
CODE/smart-community/property-api/src/main/java/com/community/huiju/service/impl/BuildingOwnerInfoServiceImpl.java View File

@@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSONObject;
4 4
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
5 5
 import com.baomidou.mybatisplus.core.enums.SqlMethod;
6 6
 import com.baomidou.mybatisplus.core.metadata.IPage;
7
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
8 7
 import com.baomidou.mybatisplus.core.toolkit.Constants;
9 8
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
10 9
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -15,21 +14,16 @@ import com.community.commom.session.UserElement;
15 14
 import com.community.commom.utils.AccountValidatorUtil;
16 15
 import com.community.commom.utils.BeanTools;
17 16
 
18
-import com.community.huiju.dao.TaSysUserRoleMapper;
19
-import com.community.huiju.dao.TaUserMapper;
20
-import com.community.huiju.dao.UserMapper;
17
+import com.community.huiju.dao.*;
21 18
 import com.community.huiju.exception.WisdomException;
22
-import com.community.huiju.model.TaSysUserRole;
23
-import com.community.huiju.model.TaUser;
19
+import com.community.huiju.model.*;
24 20
 
25
-import com.community.huiju.dao.TpBuildingOwnerInfoMapper;
26
-import com.community.huiju.model.TpBuildingOwnerInfo;
27
-
28
-import com.community.huiju.model.User;
21
+import com.community.huiju.service.IBillInvoiceService;
29 22
 import com.community.huiju.service.IBuildingOwnerInfoService;
30 23
 import com.community.huiju.service.ITaUserService;
31 24
 import com.google.common.collect.Lists;
32 25
 import com.google.common.collect.Maps;
26
+import org.apache.commons.collections.CollectionUtils;
33 27
 import org.apache.ibatis.binding.MapperMethod;
34 28
 import org.apache.ibatis.session.SqlSession;
35 29
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -78,6 +72,12 @@ public class BuildingOwnerInfoServiceImpl extends ServiceImpl<TpBuildingOwnerInf
78 72
 
79 73
     @Autowired
80 74
     private ITaUserService iTaUserService;
75
+
76
+    @Autowired
77
+    private BillInvoiceMapper billInvoiceMapper;
78
+
79
+    @Autowired
80
+    private IBillInvoiceService iBillInvoiceService;
81 81
     
82 82
     public static final Logger logger = LoggerFactory.getLogger(BuildingOwnerInfoServiceImpl.class);
83 83
     
@@ -232,6 +232,9 @@ public class BuildingOwnerInfoServiceImpl extends ServiceImpl<TpBuildingOwnerInf
232 232
 
233 233
             // 更新APP端用户的角色身份为 业主
234 234
             updateAppRole(tpBuildingOwnerInfo.getCommunityId(), appOwnerUser.getId(), Constant.OWNER_ID);
235
+
236
+            // 绑定 缴费单
237
+            bingBillInvoice(user.getId(), tpBuildingOwnerInfo.getId());
235 238
         }
236 239
 
237 240
 
@@ -321,6 +324,10 @@ public class BuildingOwnerInfoServiceImpl extends ServiceImpl<TpBuildingOwnerInf
321 324
 
322 325
             // 更新APP端用户的角色身份为 业主
323 326
             updateAppRole(tpBuildingOwnerInfo.getCommunityId(), appOwnerUser.getId(), Constant.OWNER_ID);
327
+
328
+            // 绑定 缴费单
329
+            bingBillInvoice(user.getId(), tpBuildingOwnerInfo.getId());
330
+
324 331
         }
325 332
 
326 333
 
@@ -349,6 +356,21 @@ public class BuildingOwnerInfoServiceImpl extends ServiceImpl<TpBuildingOwnerInf
349 356
         taSysUserRoleMapper.insert(taSysUserRole);
350 357
     }
351 358
 
359
+    /**
360
+     * 绑定 缴费单
361
+     * @param taUserId
362
+     */
363
+    private void bingBillInvoice(Integer taUserId, Integer buildingOwnerInfoId) {
364
+        // 开始绑定缴费单
365
+        QueryWrapper<BillInvoice> queryWrapper = new QueryWrapper<>();
366
+        queryWrapper.eq("building_owner_info_id", buildingOwnerInfoId);
367
+        List<BillInvoice> tpBillInvoices = billInvoiceMapper.selectList(queryWrapper);
368
+        if (CollectionUtils.isNotEmpty(tpBillInvoices)) {
369
+            tpBillInvoices.forEach(e -> e.setTaUserId(taUserId));
370
+            iBillInvoiceService.updateBatchById(tpBillInvoices);
371
+        }
372
+    }
373
+
352 374
     @Override
353 375
     public ResponseBean getBuildingOrUnitOrNumber(String parameter,Integer communityId) {
354 376
 

+ 15
- 13
VUECODE/smart-property-manage/src/views/bill/info/index.vue View File

@@ -434,19 +434,21 @@ export default {
434 434
     },
435 435
     addBillInvoice() {
436 436
       // 如果是 收费已完成 的收费项, 则不允许跳进添加页面
437
-      this.$store.dispatch('GetBillByIdInfo', this.formInline.billId).then(res => {
438
-        const resCode = res.code
439
-        if (resCode === '0') {
440
-          const billStatus = res.data.billStatus
441
-          if (billStatus === '1') {
442
-            this.$message.error('不能给收费已完成的收费组添加收费单!')
443
-            return
444
-          }
445
-          this.$router.push({ name: 'bill-info-add', params: { id: this.formInline.billId }})
446
-        }
447
-      }).catch(() => {
448
-        console.log('GetBillByIdInfo error')
449
-      })
437
+      // this.$store.dispatch('GetBillByIdInfo', this.formInline.billId).then(res => {
438
+      //   const resCode = res.code
439
+      //   if (resCode === '0') {
440
+      //     const billStatus = res.data.billStatus
441
+      //     if (billStatus === '1') {
442
+      //       this.$message.error('不能给收费已完成的收费组添加收费单!')
443
+      //       return
444
+      //     }
445
+      //     this.$router.push({ name: 'bill-info-add', params: { id: this.formInline.billId }})
446
+      //   }
447
+      // }).catch(() => {
448
+      //   console.log('GetBillByIdInfo error')
449
+      // })
450
+
451
+      this.$router.push({ name: 'bill-info-add', params: { id: this.formInline.billId }})
450 452
     },
451 453
     showPayPrice(payPrice) { //  转换金额
452 454
       const price = payPrice / 100