提交 544e1160 编写于 作者: zhouweidong's avatar zhouweidong

excel导入改为save(解决batch无法附加逻辑问题)

上级 0f3d7d43
......@@ -2910,59 +2910,14 @@ public class ${item.getCodeName()}ServiceImpl implements I${de.getCodeName()}Ser
if(rs.getInteger("rst")==1 && !isIgnoreError) {
return rs;
}
List<${de.codeName}> tempDEList=new ArrayList<>();
Set tempIds=new HashSet<>();
for(int i=0;i<entities.size();i++) {
for(int i = 0;i < entities.size();i++) {
${de.codeName} entity = entities.get(i);
tempDEList.add(entity);
Object id=entity.get${keyfieldPublicCodeName}();
if(!ObjectUtils.isEmpty(id)) {
tempIds.add(id);
}
if(tempDEList.size()>=batchSize || (tempDEList.size()<batchSize && i==entities.size()-1)){
commit(tempDEList,tempIds);
tempDEList.clear();
tempIds.clear();
}
}
getProxyService().save(entity);
}
rs.put("rst", 0);
rs.put("data",entities);
return rs;
}
/**
* 批量提交
* @param entities 数据
* @param ids 要提交数据的id
*/
@Transactional
public void commit(List<${de.codeName}> entities, Set ids){
List<${de.codeName}> _create=new ArrayList<>();
List<${de.codeName}> _update=new ArrayList<>();
Set oldIds=new HashSet<>();
if(ids.size()>0){
List<${de.codeName}> oldEntities=this.listByIds(ids);
for(${de.codeName} entity:oldEntities){
oldIds.add(entity.get${keyfieldPublicCodeName}());
}
}
for(${de.codeName} entity:entities){
Object id=entity.get${keyfieldPublicCodeName}();
if(oldIds.contains(id)) {
_update.add(entity);
}
else {
_create.add(entity);
}
}
if(_update.size()>0) {
getProxyService().updateBatch(_update);
}
if(_create.size()>0) {
getProxyService().createBatch(_create);
}
}
</#if>
</#macro>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册