Commit 6e32a864 authored by 赵啸非's avatar 赵啸非

修正循环查询

parent 640f1026
......@@ -40,15 +40,27 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao
private AppInfoFieldService appInfoFieldService;
@Override
protected void findAfter(AppDatasetEntity params, Context context, List<AppDatasetEntity> list) throws AppException {
protected void findAfter(AppDatasetEntity params,PageInfo pageInfo, Context context, List<AppDatasetEntity> list) throws AppException {
fillSubData(list);
super.findAfter(params,pageInfo, context, list);
}
@Override
protected void findAfter(AppDatasetEntity entity, Context context, List<AppDatasetEntity> list) throws AppException {
fillSubData(list);
super.findAfter(entity, context, list);
}
private void fillSubData(List<AppDatasetEntity> list) {
List<Long> idList = list.stream().map(i -> i.getId()).collect(Collectors.toList());
AppInfoFieldQuery appInfoFieldQuery = new AppInfoFieldQuery();
appInfoFieldQuery.setDatasetIdList(idList);
Map<Long, List<AppInfoFieldEntity>> appInfoFieldListMap = appInfoFieldService.find(appInfoFieldQuery).stream().collect(Collectors.groupingBy(AppInfoFieldEntity::getDatasetId));
list.forEach(item -> item.setAppInfoFieldList(appInfoFieldListMap.get(item.getId())));
super.findAfter(params, context, list);
}
@Override
protected void saveAfter(AppDatasetEntity entity, Context context) throws AppException {
if (!ObjectUtils.isEmpty(entity.getAppInfoFieldList())) {
......
......@@ -2,6 +2,7 @@ package com.mortals.xhx.module.matter.service.impl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.base.system.upload.service.UploadService;
import com.mortals.xhx.module.matter.model.*;
import com.mortals.xhx.module.matter.service.MatterDatumFileService;
......@@ -34,14 +35,23 @@ public class MatterDatumServiceImpl extends AbstractCRUDServiceImpl<MatterDatumD
@Autowired
private UploadService uploadService;
@Override
protected void findAfter(MatterDatumEntity params, PageInfo pageInfo, Context context, List<MatterDatumEntity> list) throws AppException {
fillSubData(list);
super.findAfter(params,pageInfo, context, list);
}
@Override
protected void findAfter(MatterDatumEntity params, Context context, List<MatterDatumEntity> list) throws AppException {
fillSubData(list);
super.findAfter(params, context, list);
}
private void fillSubData(List<MatterDatumEntity> list) {
List<Long> idList = list.stream().map(i -> i.getId()).collect(Collectors.toList());
MatterDatumFileQuery matterDatumFileQuery = new MatterDatumFileQuery();
matterDatumFileQuery.setDatumIdList(idList);
Map<Long, List<MatterDatumFileEntity>> matterDatumFileListMap = matterDatumFileService.find(matterDatumFileQuery).stream().collect(Collectors.groupingBy(MatterDatumFileEntity::getDatumId));
list.forEach(item -> item.setMatterDatumFileList(matterDatumFileListMap.get(item.getId())));
super.findAfter(params, context, list);
}
@Override
......
package com.mortals.xhx.module.ph.model;
import java.util.List;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.ph.model.vo.PhQueueVo;
import com.mortals.xhx.module.workman.model.WorkmanEntity;
import lombok.Data;
/**
* 排号汇总实体对象
*
* @author zxfei
* @date 2024-04-09
* @date 2024-07-18
*/
@Data
public class PhQueueEntity extends PhQueueVo {
......@@ -145,12 +142,21 @@ public class PhQueueEntity extends PhQueueVo {
* 扩展编号
*/
private String extNum;
/**
* 工作人员信息
*/
private WorkmanEntity workmanEntity=new WorkmanEntity();
public WorkmanEntity getWorkmanEntity(){
return workmanEntity;
}
public void setWorkmanEntity(WorkmanEntity workmanEntity){
this.workmanEntity = workmanEntity;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
......@@ -163,7 +169,7 @@ public class PhQueueEntity extends PhQueueVo {
return false;
}
public void initAttrValue() {
public void initAttrValue(){
this.ordernumber = "";
this.style = "未叫号";
this.business = "";
......
package com.mortals.xhx.module.ph.service.impl;
import com.mortals.framework.model.PageInfo;
import com.mortals.xhx.module.app.model.AppInfoFieldEntity;
import com.mortals.xhx.module.app.model.AppInfoFieldQuery;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
......@@ -6,16 +10,83 @@ import com.mortals.framework.model.Context;
import com.mortals.xhx.module.ph.dao.PhQueueDao;
import com.mortals.xhx.module.ph.model.PhQueueEntity;
import com.mortals.xhx.module.ph.service.PhQueueService;
import org.springframework.beans.factory.annotation.Autowired;
import com.mortals.xhx.module.workman.model.WorkmanEntity;
import com.mortals.xhx.module.workman.model.WorkmanQuery;
import com.mortals.xhx.module.workman.service.WorkmanService;
import org.springframework.util.ObjectUtils;
import java.util.Date;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
/**
* PhQueueService
* 排号汇总 service实现
*
* @author zxfei
* @date 2024-04-09
*/
* PhQueueService
* 排号汇总 service实现
*
* @author zxfei
* @date 2024-07-18
*/
@Service("phQueueService")
@Slf4j
public class PhQueueServiceImpl extends AbstractCRUDServiceImpl<PhQueueDao, PhQueueEntity, Long> implements PhQueueService {
@Autowired
private WorkmanService workmanService;
@Override
protected void findAfter(PhQueueEntity params,PageInfo pageInfo, Context context, List<PhQueueEntity> list) throws AppException {
List<Long> idList = list.stream().map(i -> i.getId()).collect(Collectors.toList());
WorkmanQuery workmanQuery = new WorkmanQuery();
workmanQuery.setCreateUserIdList(idList);
Map<Long, WorkmanEntity> workmanMap = workmanService.find(workmanQuery).stream().collect(Collectors.toMap(WorkmanEntity::getCreateUserId, Function.identity(), (n1, n2) -> n1));
list.forEach(item -> item.setWorkmanEntity(workmanMap.get(item.getId())));
super.findAfter(params,pageInfo, context, list);
}
/**
* @param entity
* @param context
* @param list
* @throws AppException
*/
@Override
protected void findAfter(PhQueueEntity entity, Context context, List<PhQueueEntity> list) throws AppException {
super.findAfter(entity, context, list);
}
@Override
protected void saveAfter(PhQueueEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getWorkmanEntity())){
WorkmanEntity workmanEntity = new WorkmanEntity();
workmanEntity.initAttrValue();
WorkmanEntity subEntity=entity.getWorkmanEntity();
BeanUtils.copyProperties(subEntity,workmanEntity);
workmanEntity.setCreateUserId(entity.getId());
workmanEntity.setCreateUserId(this.getContextUserId(context));
workmanEntity.setCreateTime(new Date());
workmanService.save(workmanEntity,context);
}
super.saveAfter(entity, context);
}
@Override
protected void updateAfter(PhQueueEntity entity, Context context) throws AppException {
if(!ObjectUtils.isEmpty(entity.getWorkmanEntity())){
WorkmanEntity subEntity=entity.getWorkmanEntity();
subEntity.setUpdateUserId(this.getContextUserId(context));
subEntity.setUpdateTime(new Date());
workmanService.update(subEntity,context);
}
super.updateAfter(entity, context);
}
@Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException {
List<WorkmanEntity> workmanlist = workmanService.find(new WorkmanQuery().createUserIdList(Arrays.asList(ids)));
workmanService.removeList(workmanlist,context);
super.removeAfter(ids, context, result);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment