package com.kidgrow.oprationcenter.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.kidgrow.common.model.PageResult; import com.kidgrow.common.service.impl.SuperServiceImpl; import com.kidgrow.common.utils.StringUtils; import com.kidgrow.oprationcenter.mapper.ConsumptionRecordMapper; import com.kidgrow.oprationcenter.model.ConsumptionRecord; import com.kidgrow.oprationcenter.service.IConsumptionRecordService; import com.kidgrow.oprationcenter.service.IProductOrderDetailService; import com.kidgrow.oprationcenter.vo.ProductOrderJoinDetail; import com.kidgrow.oprationcenter.vo.UserProductDetail; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
* @Description:
* @Project: 运营中心
* @CreateDate: Created in 2020-06-23 15:07:14
* @Author: houruijun * @version 1.0 */ @Slf4j @Service public class ConsumptionRecordServiceImpl extends SuperServiceImpl implements IConsumptionRecordService { @Autowired private IProductOrderDetailService productOrderDetailService; /** * 列表 * @param params * @return */ @Override public PageResult findList(Map params){ Page page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); List list = baseMapper.findList(page, params); return PageResult.builder().data(list).code(0).count(page.getTotal()).build(); } /** * 列表 * @param params * @return */ @Override public List findAllList(Map params){ return baseMapper.findList(params); } /** * 根据ConsumptionRecord对象当做查询条件进行查询 * @param consumptionRecord * @return ConsumptionRecord */ @Override public ConsumptionRecord findByObject(ConsumptionRecord consumptionRecord){ return baseMapper.findByObject(consumptionRecord); } /** * * @param hospitalId * @param departmentId * @return */ public boolean deductionDepartmentProduct(Long hospitalId,Long departmentId) { UserProductDetail userProductDetail=productOrderDetailService.getUserProductDetail(hospitalId,departmentId); //合并集合 userProductDetail.getProductOrderJoinDetailListShare().addAll(userProductDetail.getProductOrderJoinDetailsListDep()); List productOrderJoinDetailList=userProductDetail.getProductOrderJoinDetailListShare(); //Collections.sort(productOrderJoinDetailList); return false; } /** * 写/更新记录数据 * @param consumptionRecord * @return */ public ConsumptionRecord SaveConsumptionRecord(ConsumptionRecord consumptionRecord) { if (consumptionRecord != null) { this.saveOrUpdate(consumptionRecord); return consumptionRecord; } return null; } /** * 检查该业务是否存在该业务类型 * @param consumptionRecordList 该业务下的扣费列表 * @param recordType 记录类型编码 参考ConsumptionConstant里面 * @return */ public boolean isBeforeDeduction(List consumptionRecordList,int recordType) { if (consumptionRecordList != null) { if (consumptionRecordList.size()>0) { //过滤预扣费的记录 return consumptionRecordList.stream().filter(f->f.getRecordType()==recordType).collect(Collectors.toList()).size()==1; } } return false; } /** * 获取一个业务关联的扣费记录 * @param businessId 光片的名称/编号 * @return */ public List GetBusinessConsumptionList(String businessId) { if (StringUtils.isNotBlank(businessId)) { Map params = new HashMap<>(); params.put("businessId", businessId); List consumptionRecordList=this.findAllList(params); return consumptionRecordList; } return null; } /** * 获取一个扣费记录 * @param recordId 扣费记录id * @return */ public ConsumptionRecord GetBusinessConsumptionList(Long recordId) { if (recordId>0) { return baseMapper.selectById(recordId); } return null; } }