|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.doumee.core.model.PageData; | 
|---|
|  |  |  | import com.doumee.core.model.PageWrap; | 
|---|
|  |  |  | import com.doumee.core.utils.Constants; | 
|---|
|  |  |  | import com.doumee.core.utils.DateUtil; | 
|---|
|  |  |  | import com.doumee.core.utils.Utils; | 
|---|
|  |  |  | import com.doumee.dao.business.ApplyChagneDetailMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.model.ApplyChagneDetail; | 
|---|
|  |  |  | import com.doumee.dao.business.dto.ApplyDetailPageDTO; | 
|---|
|  |  |  | import com.doumee.dao.business.join.ApplyChangeDetailJoinMapper; | 
|---|
|  |  |  | import com.doumee.dao.business.model.*; | 
|---|
|  |  |  | import com.doumee.service.business.ApplyChagneDetailService; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
|---|
|  |  |  | import com.github.yulichang.wrapper.MPJLambdaWrapper; | 
|---|
|  |  |  | import org.apache.commons.collections.CollectionUtils; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.util.CollectionUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Objects; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 加减保换厂申请明细信息表Service实现 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ApplyChagneDetailMapper applyChagneDetailMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private ApplyChangeDetailJoinMapper applyChangeDetailJoinMapper; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public Integer create(ApplyChagneDetail applyChagneDetail) { | 
|---|
|  |  |  | 
|---|
|  |  |  | QueryWrapper<ApplyChagneDetail> wrapper = new QueryWrapper<>(applyChagneDetail); | 
|---|
|  |  |  | return applyChagneDetailMapper.selectList(wrapper); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public PageData<ApplyChagneDetail> findPage(PageWrap<ApplyChagneDetail> pageWrap) { | 
|---|
|  |  |  | IPage<ApplyChagneDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|---|
|  |  |  | 
|---|
|  |  |  | if (pageWrap.getModel().getStartTime() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ApplyChagneDetail::getStartTime, pageWrap.getModel().getStartTime()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getIdcardNo() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().ge(ApplyChagneDetail::getIdcardNo, Utils.Date.getStart(pageWrap.getModel().getIdcardNo())); | 
|---|
|  |  |  | queryWrapper.lambda().le(ApplyChagneDetail::getIdcardNo, Utils.Date.getEnd(pageWrap.getModel().getIdcardNo())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (pageWrap.getModel().getDuId() != null) { | 
|---|
|  |  |  | queryWrapper.lambda().eq(ApplyChagneDetail::getDuId, pageWrap.getModel().getDuId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return PageData.from(applyChagneDetailMapper.selectPage(page, queryWrapper)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public PageData<ApplyChagneDetail> findPageForCompany(PageWrap<ApplyDetailPageDTO> pageWrap) { | 
|---|
|  |  |  | IPage<ApplyChagneDetail> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); | 
|---|
|  |  |  | MPJLambdaWrapper<ApplyChagneDetail> queryWrapper = new MPJLambdaWrapper<>(); | 
|---|
|  |  |  | Utils.MP.blankToNull(pageWrap.getModel()); | 
|---|
|  |  |  | queryWrapper.selectAll(ApplyChagneDetail.class); | 
|---|
|  |  |  | queryWrapper.selectAs(DispatchUnit::getName,ApplyChagneDetail::getDuName); | 
|---|
|  |  |  | queryWrapper.selectAs(Worktype::getName,ApplyChagneDetail::getWorkTypeName); | 
|---|
|  |  |  | queryWrapper.selectAs(Member::getName,ApplyChagneDetail::getMemberName); | 
|---|
|  |  |  | ApplyDetailPageDTO applyDetailPageDTO = pageWrap.getModel(); | 
|---|
|  |  |  | queryWrapper.exists(!Objects.isNull(applyDetailPageDTO.getApplyId()), | 
|---|
|  |  |  | " select 1 from apply_change ac where ac.isdeleted = 0 and ac.status in (1,2)  and ac.apply_id = "+applyDetailPageDTO.getApplyId()+" and ac.id = t.apply_change_id  "); | 
|---|
|  |  |  | //在保 | 
|---|
|  |  |  | queryWrapper.le(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) | 
|---|
|  |  |  | &&applyDetailPageDTO.getApplyStatus().equals(Constants.ONE), | 
|---|
|  |  |  | ApplyChagneDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59"); | 
|---|
|  |  |  | //不在保 | 
|---|
|  |  |  | queryWrapper.ge(!Objects.isNull(applyDetailPageDTO.getApplyStatus()) | 
|---|
|  |  |  | &&applyDetailPageDTO.getApplyStatus().equals(Constants.TWO), | 
|---|
|  |  |  | ApplyChagneDetail::getEndTime, DateUtil.getDate(new Date(),"yyyy-MM-dd")+" 23:59:59"); | 
|---|
|  |  |  | queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyChagneDetail::getDuId,applyDetailPageDTO.getDuId()); | 
|---|
|  |  |  | queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorkTypeId()),ApplyChagneDetail::getWorktypeId,applyDetailPageDTO.getWorkTypeId()); | 
|---|
|  |  |  | queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName()); | 
|---|
|  |  |  | queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyChagneDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00"); | 
|---|
|  |  |  | queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyChagneDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59"); | 
|---|
|  |  |  | queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyChagneDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00"); | 
|---|
|  |  |  | queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyChagneDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59"); | 
|---|
|  |  |  | queryWrapper.in(CollectionUtils.isNotEmpty(applyDetailPageDTO.getTypes()),ApplyChagneDetail::getType,applyDetailPageDTO.getTypes()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for(PageWrap.SortData sortData: pageWrap.getSorts()) { | 
|---|
|  |  |  | if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { | 
|---|
|  |  |  | queryWrapper.orderByDesc(sortData.getProperty()); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | queryWrapper.orderByAsc(sortData.getProperty()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | PageData<ApplyChagneDetail> pageData = PageData.from(applyChangeDetailJoinMapper.selectJoinPage(page,ApplyChagneDetail.class, queryWrapper)); | 
|---|
|  |  |  | return pageData; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public long count(ApplyChagneDetail applyChagneDetail) { | 
|---|