|
@@ -9,6 +9,7 @@ import org.dromara.backstage.cardCenter.domain.PtSubsidyitem;
|
|
|
import org.dromara.backstage.cardCenter.domain.bo.PtSubsidyBo;
|
|
import org.dromara.backstage.cardCenter.domain.bo.PtSubsidyBo;
|
|
|
import org.dromara.backstage.cardCenter.domain.bo.PtSubsidyitemBo;
|
|
import org.dromara.backstage.cardCenter.domain.bo.PtSubsidyitemBo;
|
|
|
import org.dromara.backstage.cardCenter.domain.vo.PtSubsidyVo;
|
|
import org.dromara.backstage.cardCenter.domain.vo.PtSubsidyVo;
|
|
|
|
|
+import org.dromara.backstage.cardCenter.domain.vo.PtSubsidyitemVo;
|
|
|
import org.dromara.backstage.cardCenter.mapper.PtSubsidyMapper;
|
|
import org.dromara.backstage.cardCenter.mapper.PtSubsidyMapper;
|
|
|
import org.dromara.backstage.cardCenter.mapper.PtSubsidyitemMapper;
|
|
import org.dromara.backstage.cardCenter.mapper.PtSubsidyitemMapper;
|
|
|
import org.dromara.backstage.cardCenter.service.IPtSubsidyService;
|
|
import org.dromara.backstage.cardCenter.service.IPtSubsidyService;
|
|
@@ -104,6 +105,7 @@ public class PtSubsidyServiceImpl implements IPtSubsidyService {
|
|
|
});
|
|
});
|
|
|
Collection<PtSubsidyitem> list = MapstructUtils.convert(subsidyitemBoList, PtSubsidyitem.class);
|
|
Collection<PtSubsidyitem> list = MapstructUtils.convert(subsidyitemBoList, PtSubsidyitem.class);
|
|
|
subsidyitemMapper.insertBatch(list);
|
|
subsidyitemMapper.insertBatch(list);
|
|
|
|
|
+ //将ID信息写入请求参数,用于数据双向同步
|
|
|
Map<Long,Long> itemIdMap = new HashMap<>();
|
|
Map<Long,Long> itemIdMap = new HashMap<>();
|
|
|
list.stream().forEach(subsidyitem ->{
|
|
list.stream().forEach(subsidyitem ->{
|
|
|
itemIdMap.put(subsidyitem.getUserId(), subsidyitem.getItemId());
|
|
itemIdMap.put(subsidyitem.getUserId(), subsidyitem.getItemId());
|
|
@@ -127,14 +129,33 @@ public class PtSubsidyServiceImpl implements IPtSubsidyService {
|
|
|
PtSubsidy update = MapstructUtils.convert(bo, PtSubsidy.class);
|
|
PtSubsidy update = MapstructUtils.convert(bo, PtSubsidy.class);
|
|
|
validEntityBeforeSave(update);
|
|
validEntityBeforeSave(update);
|
|
|
boolean flag = baseMapper.updateById(update) > 0;
|
|
boolean flag = baseMapper.updateById(update) > 0;
|
|
|
-
|
|
|
|
|
- if(flag && bo.getPtSubsidyItemList() != null){
|
|
|
|
|
- List<PtSubsidyitemBo> subsidyitemBoList = bo.getPtSubsidyItemList();
|
|
|
|
|
- subsidyitemBoList.stream().forEach(subsidyitemBo ->{
|
|
|
|
|
|
|
+ List<PtSubsidyitemBo> itemBoList = bo.getPtSubsidyItemList();
|
|
|
|
|
+ if(flag && itemBoList != null){
|
|
|
|
|
+ //根据补助ID查询全部补助明细人员
|
|
|
|
|
+ PtSubsidyitemBo itemQueryBo = new PtSubsidyitemBo();
|
|
|
|
|
+ itemQueryBo.setMainId(bo.getMainId());
|
|
|
|
|
+ List<Long> dbItems =
|
|
|
|
|
+ subsidyitemService.queryList(itemQueryBo).stream().map(res -> res.getItemId()).toList();
|
|
|
|
|
+ //过滤出本次新增的人员列表
|
|
|
|
|
+ List<PtSubsidyitemBo> addItemBoList =
|
|
|
|
|
+ itemBoList.stream().filter(itemBo -> !dbItems.contains(itemBo.getItemId())).toList();
|
|
|
|
|
+ //设置补助明细信息
|
|
|
|
|
+ addItemBoList.stream().forEach(subsidyitemBo ->{
|
|
|
setSubsidyInfo(subsidyitemBo, bo);
|
|
setSubsidyInfo(subsidyitemBo, bo);
|
|
|
});
|
|
});
|
|
|
- Collection<PtSubsidyitem> list = MapstructUtils.convert(subsidyitemBoList, PtSubsidyitem.class);
|
|
|
|
|
- subsidyitemMapper.insertOrUpdateBatch(list);
|
|
|
|
|
|
|
+ Collection<PtSubsidyitem> addItemList = MapstructUtils.convert(addItemBoList, PtSubsidyitem.class);
|
|
|
|
|
+ //批量插入本次新增的补助明细人员
|
|
|
|
|
+ subsidyitemMapper.insertBatch(addItemList);
|
|
|
|
|
+ //修改之前批次的补助明细信息
|
|
|
|
|
+ subsidyitemService.updateBySubsidyBo(bo);
|
|
|
|
|
+ //将ID信息写入请求参数,用于数据双向同步
|
|
|
|
|
+ Map<Long,Long> itemIdMap = new HashMap<>();
|
|
|
|
|
+ addItemList.stream().forEach(subsidyitem ->{
|
|
|
|
|
+ itemIdMap.put(subsidyitem.getUserId(), subsidyitem.getItemId());
|
|
|
|
|
+ });
|
|
|
|
|
+ itemBoList.stream().forEach(subsidyitemBo ->{
|
|
|
|
|
+ subsidyitemBo.setItemId(itemIdMap.get(subsidyitemBo.getUserId()));
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
return flag;
|
|
return flag;
|
|
|
}
|
|
}
|