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

修正循环查询

parent 640f1026
...@@ -40,15 +40,27 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao ...@@ -40,15 +40,27 @@ public class AppDatasetServiceImpl extends AbstractCRUDServiceImpl<AppDatasetDao
private AppInfoFieldService appInfoFieldService; private AppInfoFieldService appInfoFieldService;
@Override @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()); List<Long> idList = list.stream().map(i -> i.getId()).collect(Collectors.toList());
AppInfoFieldQuery appInfoFieldQuery = new AppInfoFieldQuery(); AppInfoFieldQuery appInfoFieldQuery = new AppInfoFieldQuery();
appInfoFieldQuery.setDatasetIdList(idList); appInfoFieldQuery.setDatasetIdList(idList);
Map<Long, List<AppInfoFieldEntity>> appInfoFieldListMap = appInfoFieldService.find(appInfoFieldQuery).stream().collect(Collectors.groupingBy(AppInfoFieldEntity::getDatasetId)); Map<Long, List<AppInfoFieldEntity>> appInfoFieldListMap = appInfoFieldService.find(appInfoFieldQuery).stream().collect(Collectors.groupingBy(AppInfoFieldEntity::getDatasetId));
list.forEach(item -> item.setAppInfoFieldList(appInfoFieldListMap.get(item.getId()))); list.forEach(item -> item.setAppInfoFieldList(appInfoFieldListMap.get(item.getId())));
super.findAfter(params, context, list);
} }
@Override @Override
protected void saveAfter(AppDatasetEntity entity, Context context) throws AppException { protected void saveAfter(AppDatasetEntity entity, Context context) throws AppException {
if (!ObjectUtils.isEmpty(entity.getAppInfoFieldList())) { if (!ObjectUtils.isEmpty(entity.getAppInfoFieldList())) {
......
...@@ -2,6 +2,7 @@ package com.mortals.xhx.module.matter.service.impl; ...@@ -2,6 +2,7 @@ package com.mortals.xhx.module.matter.service.impl;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; 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.base.system.upload.service.UploadService;
import com.mortals.xhx.module.matter.model.*; import com.mortals.xhx.module.matter.model.*;
import com.mortals.xhx.module.matter.service.MatterDatumFileService; import com.mortals.xhx.module.matter.service.MatterDatumFileService;
...@@ -34,14 +35,23 @@ public class MatterDatumServiceImpl extends AbstractCRUDServiceImpl<MatterDatumD ...@@ -34,14 +35,23 @@ public class MatterDatumServiceImpl extends AbstractCRUDServiceImpl<MatterDatumD
@Autowired @Autowired
private UploadService uploadService; 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 @Override
protected void findAfter(MatterDatumEntity params, Context context, List<MatterDatumEntity> list) throws AppException { 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()); List<Long> idList = list.stream().map(i -> i.getId()).collect(Collectors.toList());
MatterDatumFileQuery matterDatumFileQuery = new MatterDatumFileQuery(); MatterDatumFileQuery matterDatumFileQuery = new MatterDatumFileQuery();
matterDatumFileQuery.setDatumIdList(idList); matterDatumFileQuery.setDatumIdList(idList);
Map<Long, List<MatterDatumFileEntity>> matterDatumFileListMap = matterDatumFileService.find(matterDatumFileQuery).stream().collect(Collectors.groupingBy(MatterDatumFileEntity::getDatumId)); Map<Long, List<MatterDatumFileEntity>> matterDatumFileListMap = matterDatumFileService.find(matterDatumFileQuery).stream().collect(Collectors.groupingBy(MatterDatumFileEntity::getDatumId));
list.forEach(item -> item.setMatterDatumFileList(matterDatumFileListMap.get(item.getId()))); list.forEach(item -> item.setMatterDatumFileList(matterDatumFileListMap.get(item.getId())));
super.findAfter(params, context, list);
} }
@Override @Override
......
package com.mortals.xhx.module.ph.model; package com.mortals.xhx.module.ph.model;
import java.util.List;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.ArrayList; import java.util.ArrayList;
import java.math.BigDecimal; import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import java.util.Date; import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel; import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong; import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.ph.model.vo.PhQueueVo; import com.mortals.xhx.module.ph.model.vo.PhQueueVo;
import com.mortals.xhx.module.workman.model.WorkmanEntity;
import lombok.Data; import lombok.Data;
/** /**
* 排号汇总实体对象 * 排号汇总实体对象
* *
* @author zxfei * @author zxfei
* @date 2024-04-09 * @date 2024-07-18
*/ */
@Data @Data
public class PhQueueEntity extends PhQueueVo { public class PhQueueEntity extends PhQueueVo {
...@@ -145,12 +142,21 @@ public class PhQueueEntity extends PhQueueVo { ...@@ -145,12 +142,21 @@ public class PhQueueEntity extends PhQueueVo {
* 扩展编号 * 扩展编号
*/ */
private String extNum; private String extNum;
/**
* 工作人员信息
*/
private WorkmanEntity workmanEntity=new WorkmanEntity();
public WorkmanEntity getWorkmanEntity(){
return workmanEntity;
}
public void setWorkmanEntity(WorkmanEntity workmanEntity){
this.workmanEntity = workmanEntity;
}
@Override @Override
public int hashCode() { public int hashCode() {
return this.getId().hashCode(); return this.getId().hashCode();
} }
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
if (obj == null) return false; if (obj == null) return false;
...@@ -163,7 +169,7 @@ public class PhQueueEntity extends PhQueueVo { ...@@ -163,7 +169,7 @@ public class PhQueueEntity extends PhQueueVo {
return false; return false;
} }
public void initAttrValue() { public void initAttrValue(){
this.ordernumber = ""; this.ordernumber = "";
this.style = "未叫号"; this.style = "未叫号";
this.business = ""; this.business = "";
......
package com.mortals.xhx.module.ph.service.impl; 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 org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
...@@ -6,16 +10,83 @@ import com.mortals.framework.model.Context; ...@@ -6,16 +10,83 @@ import com.mortals.framework.model.Context;
import com.mortals.xhx.module.ph.dao.PhQueueDao; import com.mortals.xhx.module.ph.dao.PhQueueDao;
import com.mortals.xhx.module.ph.model.PhQueueEntity; import com.mortals.xhx.module.ph.model.PhQueueEntity;
import com.mortals.xhx.module.ph.service.PhQueueService; 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; import lombok.extern.slf4j.Slf4j;
/** /**
* PhQueueService * PhQueueService
* 排号汇总 service实现 * 排号汇总 service实现
* *
* @author zxfei * @author zxfei
* @date 2024-04-09 * @date 2024-07-18
*/ */
@Service("phQueueService") @Service("phQueueService")
@Slf4j @Slf4j
public class PhQueueServiceImpl extends AbstractCRUDServiceImpl<PhQueueDao, PhQueueEntity, Long> implements PhQueueService { 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