| | |
| | | |
| | | 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) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<ApplyChagneDetail> findList(ApplyChagneDetail applyChagneDetail) { |
| | | QueryWrapper<ApplyChagneDetail> wrapper = new QueryWrapper<>(applyChagneDetail); |
| | | return applyChagneDetailMapper.selectList(wrapper); |
| | | public List<ApplyChagneDetail> findList(ApplyChagneDetail applyDetailPageDTO) { |
| | | MPJLambdaWrapper<ApplyChagneDetail> queryWrapper = new MPJLambdaWrapper<>(); |
| | | Utils.MP.blankToNull(applyDetailPageDTO ); |
| | | queryWrapper.selectAll(ApplyChagneDetail.class); |
| | | queryWrapper.select("t2.name",ApplyChagneDetail::getWorkTypeName); |
| | | queryWrapper.select("t3.name",ApplyChagneDetail::getDuName); |
| | | queryWrapper.select("t4.name",ApplyChagneDetail::getOldWorkTypeName); |
| | | queryWrapper.select("t5.name",ApplyChagneDetail::getOldDuName); |
| | | queryWrapper.selectAs(Member::getName,ApplyChagneDetail::getMemberName); |
| | | queryWrapper.selectAs(Member::getSex,ApplyChagneDetail::getSex); |
| | | queryWrapper.selectAs(Member::getIdcardNo,ApplyChagneDetail::getMemberIdcardNo); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId); |
| | | queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getWorktypeId); |
| | | queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getDuId); |
| | | queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getOldWorktypeId); |
| | | queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getOldDuId); |
| | | 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.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyChagneDetail::getDuId,applyDetailPageDTO.getDuId()); |
| | | queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorktypeId()),ApplyChagneDetail::getWorktypeId,applyDetailPageDTO.getWorktypeId()); |
| | | queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getApplyChangeId()),ApplyChagneDetail::getApplyChangeId,applyDetailPageDTO.getApplyChangeId()); |
| | | queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName()); |
| | | |
| | | List<ApplyChagneDetail> pageData = applyChangeDetailJoinMapper.selectJoinList( ApplyChagneDetail.class, queryWrapper); |
| | | return pageData; |
| | | } |
| | | |
| | | |
| | | |
| | | @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.select("t2.name",ApplyChagneDetail::getWorkTypeName); |
| | | queryWrapper.select("t3.name",ApplyChagneDetail::getDuName); |
| | | queryWrapper.select("t4.name",ApplyChagneDetail::getOldWorkTypeName); |
| | | queryWrapper.select("t5.name",ApplyChagneDetail::getOldDuName); |
| | | queryWrapper.selectAs(Member::getName,ApplyChagneDetail::getMemberName); |
| | | queryWrapper.selectAs(Member::getSex,ApplyChagneDetail::getSex); |
| | | queryWrapper.selectAs(Member::getIdcardNo,ApplyChagneDetail::getMemberIdcardNo); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId); |
| | | queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getWorktypeId); |
| | | queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getDuId); |
| | | queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getOldWorktypeId); |
| | | queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getOldDuId); |
| | | 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.eq(!Objects.isNull(applyDetailPageDTO.getApplyChangeId()),ApplyChagneDetail::getApplyChangeId,applyDetailPageDTO.getApplyChangeId()); |
| | | 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 List<ApplyChagneDetail> findListForCompany(ApplyDetailPageDTO applyDetailPageDTO) { |
| | | MPJLambdaWrapper<ApplyChagneDetail> queryWrapper = new MPJLambdaWrapper<>(); |
| | | queryWrapper.selectAll(ApplyChagneDetail.class); |
| | | queryWrapper.select("t2.name",ApplyChagneDetail::getWorkTypeName); |
| | | queryWrapper.select("t3.name",ApplyChagneDetail::getDuName); |
| | | queryWrapper.select("t4.name",ApplyChagneDetail::getOldWorkTypeName); |
| | | queryWrapper.select("t5.name",ApplyChagneDetail::getOldDuName); |
| | | queryWrapper.selectAs(Member::getName,ApplyChagneDetail::getMemberName); |
| | | queryWrapper.selectAs(Member::getSex,ApplyChagneDetail::getSex); |
| | | queryWrapper.selectAs(Member::getIdcardNo,ApplyChagneDetail::getMemberIdcardNo); |
| | | queryWrapper.leftJoin(Member.class,Member::getId,ApplyChagneDetail::getMemberId); |
| | | queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getWorktypeId); |
| | | queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getDuId); |
| | | queryWrapper.leftJoin(Worktype.class,Worktype::getId,ApplyChagneDetail::getOldWorktypeId); |
| | | queryWrapper.leftJoin(DispatchUnit.class,DispatchUnit::getId,ApplyChagneDetail::getOldDuId); |
| | | queryWrapper.in(CollectionUtils.isNotEmpty(applyDetailPageDTO.getTypes()),ApplyChagneDetail::getType,applyDetailPageDTO.getTypes()); |
| | | queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getApplyChangeId()),ApplyChagneDetail::getApplyChangeId,applyDetailPageDTO.getApplyChangeId()); |
| | | List<ApplyChagneDetail> list = applyChangeDetailJoinMapper.selectJoinList(ApplyChagneDetail.class, queryWrapper); |
| | | for (ApplyChagneDetail applyChagneDetail:list) { |
| | | applyChagneDetail.setAge(Constants.getAgeByIdCard(applyChagneDetail.getMemberIdcardNo())); |
| | | |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public long count(ApplyChagneDetail applyChagneDetail) { |