1
lige
2023-12-04 77b51f625a13a8254eb2e8a9aa53bacf575f7274
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjTollCollectorController.java
@@ -13,6 +13,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ltkj.common.core.domain.entity.SysDictData;
import com.ltkj.common.core.redis.RedisCache;
import com.ltkj.common.utils.SecurityUtils;
import com.ltkj.common.utils.StringUtils;
import com.ltkj.framework.config.MatchUtils;
@@ -60,7 +61,8 @@
    private ITjCustomerService tjCustomerService;
    @Resource
    private ISysDictDataService dictDataService;
    @Resource
    private RedisCache redisCache;
    /**
     * 查询收费员日结列表
     */
@@ -140,10 +142,15 @@
                collectorDetail.setAccountId(tjTollCollector.getAccountId());
                collectorDetailService.save(collectorDetail);
            }
            for (String id : tjTollCollector.getIds()) {
                TjFlowingWater water = tjFlowingWaterService.getById(id);
                water.setIsCheckout("Y");
                tjFlowingWaterService.updateById(water);
            if(redisCache.hasKey("longList"+tjTollCollector.getTollCollectorId())){
                List<Long> longList= redisCache.getCacheObject("longList" + tjTollCollector.getTollCollectorId());
                for (Long id : longList) {
                    TjFlowingWater water = tjFlowingWaterService.getById(id);
                    water.setIsCheckout(tjTollCollector.getId());
                    water.setUpdateTime(new Date());
                    tjFlowingWaterService.updateById(water);
                }
                redisCache.deleteObject("longList"+tjTollCollector.getTollCollectorId());
            }
            return AjaxResult.success(accountId);
        }
@@ -160,23 +167,13 @@
        if (!userId.equals(tollCollectorId)) {
            return AjaxResult.error("非当前用户禁止操作");
        }
//        LambdaQueryWrapper<TjTollCollector> wqq = new LambdaQueryWrapper<>();
//        wqq.orderByDesc(TjTollCollector::getCreateTime);
//        List<TjTollCollector> list = tjTollCollectorService.list(wqq);
//        if (null != list && list.size() > 0) {
//            TjTollCollector collector = list.get(0);
//            if (null != collector && !collector.getId().equals(id)) {
//                return AjaxResult.error("请撤销最后一次结账记录");
//            }
//        }
        String ids = tjTollCollectorService.getTjTollCollectorByLastOne();
        if (null != ids && !id.equals(ids)) {
                return AjaxResult.error("请撤销最后一次结账记录");
            }
//        TjTollCollector collector = tjTollCollectorService.getById(id);
        TjTollCollector collector = tjTollCollectorService.getTjTollCollectorById(id);
        if (null != collector) {
            if("Y".equals(collector.getIsHz())){
            if(null !=collector.getIsHz()){
                return AjaxResult.error("该账单已汇总不可撤销");
            }
            LambdaQueryWrapper<TjTollCollectorDetail> wq = new LambdaQueryWrapper<>();
@@ -184,11 +181,11 @@
            collectorDetailService.remove(wq);
            tjTollCollectorService.removeById(collector);
            LambdaQueryWrapper<TjFlowingWater> wqq1 = new LambdaQueryWrapper<>();
            wqq1.eq(TjFlowingWater::getIsCheckout, "Y");
            wqq1.between(TjFlowingWater::getUpdateTime, collector.getAccountBeginTime(), collector.getAccountEndTime());
            wqq1.eq(TjFlowingWater::getIsCheckout,id);
            List<TjFlowingWater> waterList = tjFlowingWaterService.list(wqq1);
            for (TjFlowingWater tjFlowingWater : waterList) {
                tjFlowingWater.setIsCheckout("N");
                tjFlowingWater.setIsCheckout(null);
                tjFlowingWater.setUpdateTime(new Date());
                tjFlowingWaterService.updateById(tjFlowingWater);
            }
            return AjaxResult.success("该账单已成功撤销");
@@ -230,11 +227,16 @@
        Map<String, Object> map = new HashMap<>();
        LambdaQueryWrapper<TjFlowingWater> wq = new LambdaQueryWrapper<>();
        wq.eq(TjFlowingWater::getTollCollectorId, userId);
        wq.eq(TjFlowingWater::getIsCheckout, "N");
        wq.isNull(TjFlowingWater::getIsCheckout);
        wq.ne(TjFlowingWater::getPayStasus,0);
        wq.between(TjFlowingWater::getUpdateTime, beginTime, endTime);
        Page<TjFlowingWater> page =new Page<>(pageNum,pageSize);
        Page<TjFlowingWater> waterPage = tjFlowingWaterService.page(page, wq);
        //缓存所统计的流水id
        List<Long> longList = tjFlowingWaterService.getFlowingWaterIdList(userId, beginTime, endTime);
        redisCache.setCacheObject("longList"+userId,longList);
        List<TjFlowingWater> list1 = waterPage.getRecords();
        List<TjFlowingWater> list = tjFlowingWaterService.list(wq);
        for (TjFlowingWater tjFlowingWater : list1) {