server/dmvisit_admin/src/main/java/com/doumee/api/business/CarsController.java
@@ -69,7 +69,7 @@ @ApiOperation("å页æ¥è¯¢") @PostMapping("/page") @RequiresPermissions("business:cars:query") // @RequiresPermissions("business:cars:query") public ApiResponse<PageData<Cars>> findPage (@RequestBody PageWrap<Cars> pageWrap) { return ApiResponse.success(carsService.findPage(pageWrap)); } server/dmvisit_admin/src/main/java/com/doumee/api/business/CompanyController.java
@@ -73,7 +73,7 @@ @PostMapping("/updateById") @RequiresPermissions("business:company:update") public ApiResponse updateById(@RequestBody Company company) { companyService.updateById(company); companyService.updateLaborServicesById(company); return ApiResponse.success(null); } @@ -84,6 +84,14 @@ return ApiResponse.success(companyService.findPage(pageWrap)); } @ApiOperation("ä¿®æ¹ç¶æ") @PostMapping("/updateStatusById") @RequiresPermissions("business:company:update") public ApiResponse updateStatusById(@RequestBody Company company) { companyService.updateStatusById(company); return ApiResponse.success(null); } @ApiOperation("导åºExcel") @PostMapping("/exportExcel") @RequiresPermissions("business:company:exportExcel") server/dmvisit_admin/src/main/java/com/doumee/api/business/MemberController.java
@@ -78,11 +78,19 @@ return ApiResponse.success(null); } @ApiOperation("æ ¹æ®ID ç¦å¯ç¨ æé»") @ApiOperation("æ ¹æ®ID ç¦å¯ç¨ ") @PostMapping("/updateStatusById") @RequiresPermissions("business:member:update") public ApiResponse updateStatusById(@RequestBody Member member){ memberService.updateStatusById(member); return ApiResponse.success(null); } @ApiOperation("人åæé»") @PostMapping("/updateVisitsStatusById") @RequiresPermissions("business:member:update") public ApiResponse updateVisitsStatusById(@RequestBody Member member){ memberService.updateVisitsStatusById(member); return ApiResponse.success(null); } @@ -103,7 +111,7 @@ @ApiOperation("å页å³å¡ç¨æ·ä¿¡æ¯æ¥è¯¢") @PostMapping("/findLaborMemberInfoPage") // @RequiresPermissions("business:member:query") @RequiresPermissions("business:member:query") public ApiResponse<PageData<MemberInfoDTO>> findLaborMemberInfoPage(@RequestBody PageWrap<MemberInfoDTO> pageWrap){ return ApiResponse.success(memberService.findLaborMemberInfoPage(pageWrap)); } @@ -135,4 +143,12 @@ public ApiResponse<PageData<MemberInfoDTO>> findMemberInfoPage(@RequestBody PageWrap<MemberQuery> pageWrap){ return ApiResponse.success(memberService.findMemberInfoPage(pageWrap)); } @ApiOperation("å页æ¥è¯¢è®¿å®¢äººåä¿¡æ¯") @PostMapping("/findVisitPage") @RequiresPermissions("business:member:query") public ApiResponse<PageData<MemberInfoDTO>> findVisitPage (@RequestBody PageWrap<MemberQuery> pageWrap) { return ApiResponse.success(memberService.findVisitPage(pageWrap)); } } server/dmvisit_service/src/main/java/com/doumee/dao/admin/request/MemberQuery.java
@@ -30,4 +30,17 @@ @ApiModelProperty(value = "å ¬å¸IDs") private List<Integer> companyIds; @ApiModelProperty(value = "å§å") private String name; @ApiModelProperty(value = "ææºå·") private String phone; @ApiModelProperty(value = "å ¬å¸åç§°") private String companyName; @ApiModelProperty(value = "身份è¯å·") private String idcardNo; } server/dmvisit_service/src/main/java/com/doumee/dao/admin/response/MemberInfoDTO.java
@@ -1,5 +1,6 @@ package com.doumee.dao.admin.response; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; @@ -104,4 +105,15 @@ @JsonFormat(pattern = "yyyy-MM-dd") private Date empowerEndTime; @ApiModelProperty(value = "æè®¿æ¬¡æ°") @TableField(exist = false) private Integer visitsCount; @ApiModelProperty(value = "æå访客æ¶é´") @TableField(exist = false) private Date visitsLastDate; } server/dmvisit_service/src/main/java/com/doumee/dao/business/join/DeviceJoinMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ package com.doumee.dao.business.join; import com.doumee.dao.business.model.Device; import com.doumee.dao.business.model.UserAction; import com.github.yulichang.base.mapper.MPJJoinMapper; public interface DeviceJoinMapper extends MPJJoinMapper<Device> { } server/dmvisit_service/src/main/java/com/doumee/dao/business/join/TrainTimeJoinMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,13 @@ package com.doumee.dao.business.join; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.TrainTime; import com.github.yulichang.base.mapper.MPJJoinMapper; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ public interface TrainTimeJoinMapper extends MPJJoinMapper<TrainTime> { } server/dmvisit_service/src/main/java/com/doumee/dao/business/join/UserActionJoinMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,7 @@ package com.doumee.dao.business.join; import com.doumee.dao.business.model.UserAction; import com.github.yulichang.base.mapper.MPJJoinMapper; public interface UserActionJoinMapper extends MPJJoinMapper<UserAction> { } server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Cars.java
@@ -20,7 +20,7 @@ @TableName("`cars`") public class Cars { @TableId(type = IdType.AUTO) @TableId(value = "id",type = IdType.AUTO) @ApiModelProperty(value = "主é®", example = "1") @ExcelColumn(name="主é®") private Integer id; server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -160,4 +160,9 @@ @TableField(exist = false) private String headPhone; @ApiModelProperty(value = "ä¸çº§ç»ç»åç§°") @TableField(exist = false) private String parentName; } server/dmvisit_service/src/main/java/com/doumee/dao/business/model/TrainTime.java
@@ -1,5 +1,6 @@ package com.doumee.dao.business.model; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -22,53 +23,77 @@ @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主é®", example = "1") @ExcelColumn(name="主é®") private Integer id; @ApiModelProperty(value = "å建人ç¼ç ") @ExcelColumn(name="å建人ç¼ç ") private String creator; @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ") @ExcelColumn(name="æ´æ°äººç¼ç ") private String edirot; @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @ExcelColumn(name="æ¯å¦å é¤0å¦ 1æ¯") private Integer isdeleted; @ApiModelProperty(value = "夿³¨") @ExcelColumn(name="夿³¨") private String remark; @ApiModelProperty(value = "人åç¼ç ", example = "1") @ExcelColumn(name="人åç¼ç ") private Integer memberId; @ApiModelProperty(value = "æææå¼å§") @ExcelColumn(name="æææå¼å§") private Date startTime; @ApiModelProperty(value = "æææç»æ", example = "1") @ExcelColumn(name="æææç»æ") private Date endTime; @ApiModelProperty(value = "å¯¼å ¥ç¶æ", example = "1") @ExcelColumn(name="å¯¼å ¥ç¶æ") private Integer importStatus; @ApiModelProperty(value = "å¯¼å ¥å¤æ³¨") @ExcelColumn(name="å¯¼å ¥å¤æ³¨") private String importInfo; @ApiModelProperty(value = "å§å") @TableField(exist = false) @ExcelColumn(name="å§å", index = 1) private String name; @ApiModelProperty(value = "ææºå·") @TableField(exist = false) @ExcelColumn(name="ææºå·", index = 2) private String phone; @ApiModelProperty(value = "身份è¯") @TableField(exist = false) @ExcelColumn(name="身份è¯", index = 3) private String idcardNo; @ApiModelProperty(value = "ç»ç»åç§°") @TableField(exist = false) @ExcelColumn(name="æå±å ¬å¸", index = 4) private String companyName; @ApiModelProperty(value = "æä½äºº") @TableField(exist = false) @ExcelColumn(name="æä½äºº", index = 5) private String createName; @ApiModelProperty(value = "å¹è®æ¶é´è³", example = "1") @JsonFormat(pattern = "yyyy-MM-dd") @ExcelColumn(name="å¹è®æ¶é´è³", index = 6 ,dateFormat="yyyy-MM-dd") private Date endTime; @ApiModelProperty(value = "å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") @ExcelColumn(name="æä½æ¶é´", index = 7 ,dateFormat="yyyy-MM-dd") private Date createDate; } server/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
@@ -228,4 +228,24 @@ @TableField(exist = false) private List<Integer> lwWithUserList; @ApiModelProperty(value = "被访人åå§å", example = "1") @ExcelColumn(name="被访人åå§å") @TableField(exist = false) private String receptMemberName; @ApiModelProperty(value = "被访人åé¨é¨", example = "1") @ExcelColumn(name="被访人åé¨é¨") @TableField(exist = false) private String receptMemberDepartment; @ApiModelProperty(value = "é¨ç¦éå", example = "1") @ExcelColumn(name="é¨ç¦éå") @TableField(exist = false) private List<Device> deviceList; @ApiModelProperty(value = "é访人åå表", example = "1") @ExcelColumn(name="é访人åå表") @TableField(exist = false) private List<Visits> visitsList; } server/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java
@@ -103,6 +103,8 @@ * @return PageData<Company> */ PageData<Company> findPage(PageWrap<Company> pageWrap); void updateStatusById(Company company); /** * æ¡ä»¶ç»è®¡ * server/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -73,6 +73,8 @@ */ void updateStatusById(Member member); void updateVisitsStatusById(Member member); void updateCanVisitById(Member member); /** * æ¹é䏻鮿´æ° @@ -148,6 +150,7 @@ */ PageData<MemberInfoDTO> findMemberInfoPage(PageWrap<MemberQuery> pageWrap); PageData<MemberInfoDTO> findVisitPage(PageWrap<MemberQuery> pageWrap); /********************************************å ¬ä¼å·æ¥å£***********************************************************************/ server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -2,10 +2,12 @@ import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.admin.request.CarsQuery; import com.doumee.dao.admin.response.CarsDTO; import com.doumee.dao.business.CarsMapper; import com.doumee.dao.business.join.CarJoinMapper; import com.doumee.dao.business.join.ParkBookJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.service.business.CarsService; @@ -30,6 +32,9 @@ @Autowired private CarsMapper carsMapper; @Autowired private CarJoinMapper carJoinMapper; @Autowired private ParkBookJoinMapper parkBookJoinMapper; @@ -93,6 +98,13 @@ @Override public PageData<Cars> findPage(PageWrap<Cars> pageWrap) { MPJLambdaWrapper<Cars> visRecord = new MPJLambdaWrapper<>(); visRecord.selectAll(Cars.class); visRecord.eq(Cars::getIsdeleted, Constants.ZERO); visRecord.eq(Cars::getId, Constants.ZERO); Cars result = carJoinMapper.selectJoinOne(Cars.class,visRecord); IPage<Cars> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<Cars> queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -24,6 +24,7 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper; import io.swagger.annotations.ApiModelProperty; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -83,7 +84,14 @@ @Override public void deleteById(Integer id) { companyMapper.deleteById(id); LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Company company=new Company(); company.setId(id); company.setIsdeleted(Constants.ZERO); company.setEditDate(new Date()); company.setEditor(loginUserInfo.getId()); companyMapper.updateById(company); } @Override @@ -97,7 +105,17 @@ if (CollectionUtils.isEmpty(ids)) { return; } companyMapper.deleteBatchIds(ids); LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Company company=new Company(); // companyMapper.deleteBatchIds(ids); ids.stream().forEach(s->{ company.setId(s); company.setIsdeleted(Constants.ZERO); company.setEditDate(new Date()); company.setEditor(loginUserInfo.getId()); companyMapper.updateById(company); }); } @Override @@ -166,7 +184,7 @@ queryWrapper.eq(Company::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getName() != null) { queryWrapper.eq(Company::getName, pageWrap.getModel().getName()); queryWrapper.like(Company::getName, pageWrap.getModel().getName()); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.eq(Company::getRemark, pageWrap.getModel().getRemark()); @@ -239,18 +257,36 @@ queryWrapper.le(Company::getFsDate, Utils.Date.getEnd(pageWrap.getModel().getFsDate())); } queryWrapper.orderByDesc(Company::getCreateDate); queryWrapper.leftJoin(Category.class,Category::getId,Company::getCategoryId) .leftJoin(Member.class, Member::getId,Company::getHeadId); queryWrapper.leftJoin(Category.class,Category::getId,Company::getCategoryId); /* .leftJoin(Member.class, Member::getId,Company::getHeadId)*/ /* queryWrapper.leftJoin(" company c on c.id=t.parent_id");*/ queryWrapper.selectAll(Company.class) .selectAs(Category::getName,Company::getCategoryName) .selectAs(Member::getName,Company::getHeadName) .select("(select count(m.id) from member m where m.COMPANY_ID=t.id and m.ISDELETED=0) as countNum") /*.select("c.name as parentName");*/ .selectAs(Category::getName,Company::getCategoryName); /* .selectAs(Member::getName,Company::getHeadName) .selectAs(Member::getPhone,Company::getHeadPhone) .select("count(t1.id) as countNum"); .select("count(t1.id) as countNum");*/ queryWrapper.eq(Company::getType,Constants.ZERO); queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getStatus()),Company::getStatus,Constants.ZERO); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Company::getName,pageWrap.getModel().getName()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getParentName()),"c.name",pageWrap.getModel().getParentName()); IPage<Company> companyIPage = companyJoinMapper.selectJoinPage(page, Company.class, queryWrapper); return PageData.from(companyIPage); } @Override public void updateStatusById(Company company) { LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); company.setEditDate(new Date()); company.setEditor(loginUserInfo.getId()); company.setStatus(company.getStatus()); companyMapper.updateById(company); } @Override public long count(Company company) { QueryWrapper<Company> wrapper = new QueryWrapper<>(company); return companyMapper.selectCount(wrapper); server/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -28,6 +28,7 @@ import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.TrainTimeMapper; import com.doumee.dao.business.join.MemberJoinMapper; import com.doumee.dao.business.join.UserActionJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.system.model.SystemUser; import com.doumee.dao.web.reqeust.CheckVisitedDTO; @@ -70,6 +71,8 @@ @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private UserActionJoinMapper userActionJoinMapper; @Override public Integer create(Member member) { @@ -119,7 +122,7 @@ insert.setParentId(member.getParentId()); memberMapper.insert(insert); TrainTime trainTime = new TrainTime(); /* TrainTime trainTime = new TrainTime(); trainTime.setCreator(loginUserInfo.getId().toString()); trainTime.setCreateDate(new Date()); trainTime.setEdirot(loginUserInfo.getId().toString()); @@ -130,13 +133,20 @@ trainTime.setEndTime(Utils.Date.getDayEnd(member.getEndTime())); // trainTime.setImportStatus(); // trainTime.setImportInfo(); trainTimeMapper.insert(trainTime); trainTimeMapper.insert(trainTime);*/ return insert.getId(); } @Override public void deleteById(Integer id) { memberMapper.deleteById(id); LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Member member=new Member(); member.setId(id); member.setIsdeleted(Constants.ZERO); member.setEditor(loginUserInfo.getId()); member.setEditDate(new Date()); memberMapper.updateById(member); } @Override @@ -150,7 +160,16 @@ if (CollectionUtils.isEmpty(ids)) { return; } memberMapper.deleteBatchIds(ids); LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Member member=new Member(); ids.stream().forEach(s ->{ member.setId(s); member.setIsdeleted(Constants.ZERO); member.setEditor(loginUserInfo.getId()); member.setEditDate(new Date()); memberMapper.updateById(member); }); /* memberMapper.deleteBatchIds(ids);*/ } @Override @@ -167,6 +186,30 @@ update.setStatus(member.getStatus()); memberMapper.updateById(update); } @Override public void updateVisitsStatusById(Member member) { LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Member result=memberMapper.selectById(member.getId()); Integer status=result.getStatus(); Member update = new Member(); update.setEditDate(new Date()); update.setEditor(loginUserInfo.getId()); update.setStatus(member.getStatus()); update.setId(member.getId()); memberMapper.updateById(update); UserAction userAction=new UserAction(); userAction.setIsdeleted(Constants.ZERO); userAction.setCreateDate(new Date()); userAction.setCreator(loginUserInfo.getId()); userAction.setType(Constants.TWO); userAction.setMemberId(result.getId()+""); userAction.setBeforeStatus(status); userActionJoinMapper.insert(userAction); } @Override @@ -354,16 +397,17 @@ MemberInfoDTO model = pageWrap.getModel(); Utils.MP.blankToNull(model); Date end =pageWrap.getModel().getTrainTimeEndTime() !=null? Utils.Date.getEnd(pageWrap.getModel().getTrainTimeEndTime()):new Date(); queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId) .leftJoin(TrainTime.class,TrainTime::getMemberId,Member::getId) .leftJoin(Empower.class,Empower::getMemberId,Member::getId); queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); /* .leftJoin(TrainTime.class,TrainTime::getMemberId,Member::getId) .leftJoin(Empower.class,Empower::getMemberId,Member::getId);*/ queryWrapper.selectAll(Member.class) .selectAs(Company::getName,MemberInfoDTO::getCompanyName) .selectAs(Company::getLinkName,MemberInfoDTO::getLinkName) .select("Max(t1.endTime)","trainTimeEndTime") .select("Max(t2.endTime)","empowerEndTime"); /*.select(" (select Max(tt.END_TIME) from train_time tt where tt.ISDELETED=0 and tt.MEMBER_ID=t.id) as trainTimeEndTime")*/ .select(" (select Max(e.END_TIME) from empower e where e.ISDELETED=0 and e.MEMBER_ID=t.id) as empowerEndTime"); queryWrapper.eq(Member::getType,Constants.ZERO); queryWrapper.eq(Objects.nonNull(model.getCompanyId()),Member::getCompanyId,model.getCompanyId()) .like(StringUtils.isNotBlank(model.getName()),Member::getName,model.getName()) .like(StringUtils.isNotBlank(model.getPhone()),Member::getPhone,model.getPhone()) @@ -455,6 +499,32 @@ return PageData.from(memberIPage); } @Override public PageData<MemberInfoDTO> findVisitPage(PageWrap<MemberQuery> pageWrap) { IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); queryWrapper.selectAll(Member.class) .selectAs(Company::getName,MemberInfoDTO::getCompanyName) .select(" (select count(v.id) from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0) as visitsCount") .select(" (select STARTTIME from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 order by CREATE_DATE limit 1) as visitsLastDate"); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Member::getName,pageWrap.getModel().getName()) .like(StringUtils.isNotBlank(pageWrap.getModel().getPhone()),Member::getPhone,pageWrap.getModel().getPhone()) .like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName()) .like(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Member::getIdcardNo,pageWrap.getModel().getIdcardNo()) .eq(Member::getStatus,Constants.Status.ENABLE) .orderByDesc(Member::getCreateDate); IPage<MemberInfoDTO> memberIPage = memberJoinMapper.selectJoinPage(page, MemberInfoDTO.class,queryWrapper); return PageData.from(memberIPage); } /********************************************å ¬ä¼å·æ¥å£***********************************************************************/ server/dmvisit_service/src/main/java/com/doumee/service/business/impl/TrainTimeServiceImpl.java
@@ -1,15 +1,23 @@ package com.doumee.service.business.impl; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.core.utils.Utils; import com.doumee.dao.business.TrainTimeMapper; import com.doumee.dao.business.join.TrainTimeJoinMapper; import com.doumee.dao.business.model.Company; import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.TrainTime; import com.doumee.dao.business.model.Visits; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.TrainTimeService; 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.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -26,6 +34,9 @@ @Autowired private TrainTimeMapper trainTimeMapper; @Autowired private TrainTimeJoinMapper trainTimeJoinMapper; @@ -89,54 +100,26 @@ @Override public PageData<TrainTime> findPage(PageWrap<TrainTime> pageWrap) { IPage<TrainTime> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<TrainTime> queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(TrainTime::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.lambda().eq(TrainTime::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.lambda().ge(TrainTime::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.lambda().le(TrainTime::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getEdirot() != null) { queryWrapper.lambda().eq(TrainTime::getEdirot, pageWrap.getModel().getEdirot()); } if (pageWrap.getModel().getEditDate() != null) { queryWrapper.lambda().ge(TrainTime::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.lambda().le(TrainTime::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getIsdeleted() != null) { queryWrapper.lambda().eq(TrainTime::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.lambda().eq(TrainTime::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getMemberId() != null) { queryWrapper.lambda().eq(TrainTime::getMemberId, pageWrap.getModel().getMemberId()); } if (pageWrap.getModel().getStartTime() != null) { queryWrapper.lambda().eq(TrainTime::getStartTime, pageWrap.getModel().getStartTime()); } if (pageWrap.getModel().getEndTime() != null) { queryWrapper.lambda().eq(TrainTime::getEndTime, pageWrap.getModel().getEndTime()); } if (pageWrap.getModel().getImportStatus() != null) { queryWrapper.lambda().eq(TrainTime::getImportStatus, pageWrap.getModel().getImportStatus()); } if (pageWrap.getModel().getImportInfo() != null) { queryWrapper.lambda().eq(TrainTime::getImportInfo, pageWrap.getModel().getImportInfo()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(trainTimeMapper.selectPage(page, queryWrapper)); MPJLambdaWrapper<TrainTime> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.leftJoin(Member.class,Member::getId,TrainTime::getMemberId); queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,TrainTime::getCreator); queryWrapper.selectAll(TrainTime.class); queryWrapper.selectAs(Member::getName,TrainTime::getName); queryWrapper.selectAs(Member::getPhone,TrainTime::getPhone); queryWrapper.selectAs(Member::getIdcardNo,TrainTime::getIdcardNo); queryWrapper.selectAs(Company::getName,TrainTime::getCompanyName); queryWrapper.selectAs(SystemUser::getUsername,TrainTime::getCreateName); queryWrapper.eq(TrainTime::getIsdeleted, Constants.ZERO); queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getName()), ms->ms.like(Member::getPhone,pageWrap.getModel().getName()) .or().like(Member::getName,pageWrap.getModel().getName())); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getName,pageWrap.getModel().getCompanyName()); queryWrapper.orderByDesc(TrainTime::getCreateDate); IPage<TrainTime> result = trainTimeJoinMapper.selectJoinPage(page, TrainTime.class,queryWrapper); return PageData.from(result); } @Override server/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -17,19 +17,20 @@ import com.doumee.core.utils.DESUtil; import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.Utils; import com.doumee.dao.admin.response.MemberInfoDTO; import com.doumee.dao.business.DeviceRoleMapper; import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.ProblemLogMapper; import com.doumee.dao.business.VisitsMapper; import com.doumee.dao.business.model.DeviceRole; import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.ProblemLog; import com.doumee.dao.business.model.Visits; import com.doumee.dao.business.join.DeviceJoinMapper; import com.doumee.dao.business.join.VisitsJoinMapper; import com.doumee.dao.business.model.*; import com.doumee.service.business.VisitsService; 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.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -37,10 +38,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.DigestUtils; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.*; /** * 访客ç³è¯·ä¿¡æ¯è¡¨Serviceå®ç° @@ -58,9 +56,15 @@ private ProblemLogMapper problemLogMapper ; @Autowired private MemberMapper memberMapper ; @Autowired private VisitsJoinMapper visitsJoinMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private DeviceJoinMapper deviceJoinMapper; @Override public Integer create(Visits visits) { visitsMapper.insert(visits); @@ -445,7 +449,36 @@ @Override public Visits findById(Integer id) { return visitsMapper.selectById(id); MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(Visits.class); queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName); queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment); queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId); queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); queryWrapper.eq(Visits::getId,id); Visits result = visitsJoinMapper.selectJoinOne(Visits.class,queryWrapper); if(result!=null){ if(StringUtils.isNotBlank(result.getDoors())){ String[] doorList=result.getDoors().split(","); MPJLambdaWrapper<Device> deviceQuery = new MPJLambdaWrapper<>(); deviceQuery.in(Device::getId,doorList); List<Device> deviceList= deviceJoinMapper.selectList(deviceQuery); result.setDeviceList(deviceList); } } MPJLambdaWrapper<Visits> visitQuery = new MPJLambdaWrapper<>(); visitQuery.selectAll(Visits.class); visitQuery.eq(Visits::getParentId,result.getId()); visitQuery.isNotNull(Visits::getParentId); visitQuery.eq(Visits::getIsdeleted,Constants.ZERO); List<Visits> visitsList = visitsJoinMapper.selectList(visitQuery); visitsList.add(0,result); result.setVisitsList(visitsList); return result; } @Override @@ -463,147 +496,25 @@ @Override public PageData<Visits> findPage(PageWrap<Visits> pageWrap) { IPage<Visits> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); QueryWrapper<Visits> queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); if (pageWrap.getModel().getId() != null) { queryWrapper.lambda().eq(Visits::getId, pageWrap.getModel().getId()); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.lambda().eq(Visits::getCreator, pageWrap.getModel().getCreator()); } if (pageWrap.getModel().getCreateDate() != null) { queryWrapper.lambda().ge(Visits::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); queryWrapper.lambda().le(Visits::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); } if (pageWrap.getModel().getEditor() != null) { queryWrapper.lambda().eq(Visits::getEditor, pageWrap.getModel().getEditor()); } if (pageWrap.getModel().getEditDate() != null) { queryWrapper.lambda().ge(Visits::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); queryWrapper.lambda().le(Visits::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); } if (pageWrap.getModel().getIsdeleted() != null) { queryWrapper.lambda().eq(Visits::getIsdeleted, pageWrap.getModel().getIsdeleted()); } if (pageWrap.getModel().getRemark() != null) { queryWrapper.lambda().eq(Visits::getRemark, pageWrap.getModel().getRemark()); } if (pageWrap.getModel().getMemberId() != null) { queryWrapper.lambda().eq(Visits::getMemberId, pageWrap.getModel().getMemberId()); } if (pageWrap.getModel().getCompanyId() != null) { queryWrapper.lambda().eq(Visits::getCompanyId, pageWrap.getModel().getCompanyId()); } if (pageWrap.getModel().getFaceImg() != null) { queryWrapper.lambda().eq(Visits::getFaceImg, pageWrap.getModel().getFaceImg()); } if (pageWrap.getModel().getImgurl() != null) { queryWrapper.lambda().eq(Visits::getImgurl, pageWrap.getModel().getImgurl()); } if (pageWrap.getModel().getType() != null) { queryWrapper.lambda().eq(Visits::getType, pageWrap.getModel().getType()); } if (pageWrap.getModel().getName() != null) { queryWrapper.lambda().eq(Visits::getName, pageWrap.getModel().getName()); } if (pageWrap.getModel().getBirthday() != null) { queryWrapper.lambda().ge(Visits::getBirthday, Utils.Date.getStart(pageWrap.getModel().getBirthday())); queryWrapper.lambda().le(Visits::getBirthday, Utils.Date.getEnd(pageWrap.getModel().getBirthday())); } if (pageWrap.getModel().getPhone() != null) { queryWrapper.lambda().eq(Visits::getPhone, pageWrap.getModel().getPhone()); } if (pageWrap.getModel().getCompanyName() != null) { queryWrapper.lambda().eq(Visits::getCompanyName, pageWrap.getModel().getCompanyName()); } if (pageWrap.getModel().getIdcardNo() != null) { queryWrapper.lambda().eq(Visits::getIdcardNo, pageWrap.getModel().getIdcardNo()); } if (pageWrap.getModel().getCode() != null) { queryWrapper.lambda().eq(Visits::getCode, pageWrap.getModel().getCode()); } if (pageWrap.getModel().getClasses() != null) { queryWrapper.lambda().eq(Visits::getClasses, pageWrap.getModel().getClasses()); } if (pageWrap.getModel().getMemberNum() != null) { queryWrapper.lambda().eq(Visits::getMemberNum, pageWrap.getModel().getMemberNum()); } if (pageWrap.getModel().getStarttime() != null) { queryWrapper.lambda().ge(Visits::getStarttime, Utils.Date.getStart(pageWrap.getModel().getStarttime())); queryWrapper.lambda().le(Visits::getStarttime, Utils.Date.getEnd(pageWrap.getModel().getStarttime())); } if (pageWrap.getModel().getEndtime() != null) { queryWrapper.lambda().ge(Visits::getEndtime, Utils.Date.getStart(pageWrap.getModel().getEndtime())); queryWrapper.lambda().le(Visits::getEndtime, Utils.Date.getEnd(pageWrap.getModel().getEndtime())); } if (pageWrap.getModel().getReason() != null) { queryWrapper.lambda().eq(Visits::getReason, pageWrap.getModel().getReason()); } if (pageWrap.getModel().getDoorSelect() != null) { queryWrapper.lambda().eq(Visits::getDoorSelect, pageWrap.getModel().getDoorSelect()); } if (pageWrap.getModel().getDoors() != null) { queryWrapper.lambda().eq(Visits::getDoors, pageWrap.getModel().getDoors()); } if (pageWrap.getModel().getReceptMemberId() != null) { queryWrapper.lambda().eq(Visits::getReceptMemberId, pageWrap.getModel().getReceptMemberId()); } if (pageWrap.getModel().getStatus() != null) { queryWrapper.lambda().eq(Visits::getStatus, pageWrap.getModel().getStatus()); } if (pageWrap.getModel().getCheckorId() != null) { queryWrapper.lambda().eq(Visits::getCheckorId, pageWrap.getModel().getCheckorId()); } if (pageWrap.getModel().getCheckDate() != null) { queryWrapper.lambda().ge(Visits::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate())); queryWrapper.lambda().le(Visits::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate())); } if (pageWrap.getModel().getCheckInfo() != null) { queryWrapper.lambda().eq(Visits::getCheckInfo, pageWrap.getModel().getCheckInfo()); } if (pageWrap.getModel().getEndCheckorId() != null) { queryWrapper.lambda().eq(Visits::getEndCheckorId, pageWrap.getModel().getEndCheckorId()); } if (pageWrap.getModel().getEndCheckDate() != null) { queryWrapper.lambda().ge(Visits::getEndCheckDate, Utils.Date.getStart(pageWrap.getModel().getEndCheckDate())); queryWrapper.lambda().le(Visits::getEndCheckDate, Utils.Date.getEnd(pageWrap.getModel().getEndCheckDate())); } if (pageWrap.getModel().getEndCheckInfo() != null) { queryWrapper.lambda().eq(Visits::getEndCheckInfo, pageWrap.getModel().getEndCheckInfo()); } if (pageWrap.getModel().getIdcardType() != null) { queryWrapper.lambda().eq(Visits::getIdcardType, pageWrap.getModel().getIdcardType()); } if (pageWrap.getModel().getCarNos() != null) { queryWrapper.lambda().eq(Visits::getCarNos, pageWrap.getModel().getCarNos()); } if (pageWrap.getModel().getParentId() != null) { queryWrapper.lambda().eq(Visits::getParentId, pageWrap.getModel().getParentId()); } if (pageWrap.getModel().getUserAnswerId() != null) { queryWrapper.lambda().eq(Visits::getUserAnswerId, pageWrap.getModel().getUserAnswerId()); } if (pageWrap.getModel().getHkId() != null) { queryWrapper.lambda().eq(Visits::getHkId, pageWrap.getModel().getHkId()); } if (pageWrap.getModel().getHkStatus() != null) { queryWrapper.lambda().eq(Visits::getHkStatus, pageWrap.getModel().getHkStatus()); } if (pageWrap.getModel().getHkDate() != null) { queryWrapper.lambda().ge(Visits::getHkDate, Utils.Date.getStart(pageWrap.getModel().getHkDate())); queryWrapper.lambda().le(Visits::getHkDate, Utils.Date.getEnd(pageWrap.getModel().getHkDate())); } if (pageWrap.getModel().getErpId() != null) { queryWrapper.lambda().eq(Visits::getErpId, pageWrap.getModel().getErpId()); } for(PageWrap.SortData sortData: pageWrap.getSorts()) { if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { queryWrapper.orderByDesc(sortData.getProperty()); } else { queryWrapper.orderByAsc(sortData.getProperty()); } } return PageData.from(visitsMapper.selectPage(page, queryWrapper)); MPJLambdaWrapper<Visits> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(Visits.class); queryWrapper.selectAs(Member::getName,Visits::getReceptMemberName); queryWrapper.selectAs(Company::getName,Visits::getReceptMemberDepartment); queryWrapper.leftJoin(Member.class,Member::getId,Visits::getReceptMemberId); queryWrapper.leftJoin(Company.class,Company::getId,Member::getCompanyId); queryWrapper.eq(Visits::getIsdeleted,Constants.ZERO); queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getType()),Visits::getType,pageWrap.getModel().getType()); queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getName()),ms->ms.like(Visits::getPhone,pageWrap.getModel().getName()) .or().like(Visits::getPhone,pageWrap.getModel().getName())) .eq(StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo()),Visits::getIdcardNo,StringUtils.isNotBlank(pageWrap.getModel().getIdcardNo())) .eq(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Visits::getCompanyName,pageWrap.getModel().getCompanyName()) .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Visits::getStatus,pageWrap.getModel().getStatus()); queryWrapper.isNull(Visits::getParentId); queryWrapper.orderByDesc(Visits::getCreateDate); IPage<Visits> result = visitsJoinMapper.selectJoinPage(page, Visits.class,queryWrapper); return PageData.from(result); } @Override