perf: 支持批量更新icd属性配置

dev
huangfeng 1 year ago
parent 2a9165edc8
commit 1cce75ce5e

@ -4,6 +4,7 @@ import com.xydl.cac.entity.IcdConfigType;
import com.xydl.cac.entity.IcdConfigTypeAtt; import com.xydl.cac.entity.IcdConfigTypeAtt;
import com.xydl.cac.exception.BusinessException; import com.xydl.cac.exception.BusinessException;
import com.xydl.cac.model.ColumnModel; import com.xydl.cac.model.ColumnModel;
import com.xydl.cac.model.IcdAttUpdateModel;
import com.xydl.cac.model.Response; import com.xydl.cac.model.Response;
import com.xydl.cac.service.DataService; import com.xydl.cac.service.DataService;
import com.xydl.cac.service.IcdFileConfigService; import com.xydl.cac.service.IcdFileConfigService;
@ -66,8 +67,8 @@ public class IcdConfigController extends BasicController {
@PostMapping("updateAtt") @PostMapping("updateAtt")
@ApiOperation("更新ICD类型属性配置") @ApiOperation("更新ICD类型属性配置")
public Response<String> updateAtt(@RequestBody IcdConfigTypeAtt item) throws Exception { public Response<String> updateAtt(@RequestBody IcdAttUpdateModel model) throws Exception {
configService.updateAtt(item); configService.updateAtt(model);
return Response.success("OK"); return Response.success("OK");
} }

@ -0,0 +1,15 @@
package com.xydl.cac.model;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class IcdAttUpdateModel {
@NotNull(message = "id列表不能为空")
private List<Integer> idList;
@ApiModelProperty(name = "字段名")
private String colName;
}

@ -1,7 +1,7 @@
package com.xydl.cac.service; package com.xydl.cac.service;
import com.xydl.cac.entity.IcdConfigType; import com.xydl.cac.entity.IcdConfigType;
import com.xydl.cac.entity.IcdConfigTypeAtt; import com.xydl.cac.model.IcdAttUpdateModel;
import java.util.List; import java.util.List;
@ -15,7 +15,7 @@ public interface IcdFileConfigService {
void update(IcdConfigType item) throws Exception; void update(IcdConfigType item) throws Exception;
void updateAtt(IcdConfigTypeAtt item) throws Exception; void updateAtt(IcdAttUpdateModel model) throws Exception;
void delete(Integer id); void delete(Integer id);

@ -2,6 +2,7 @@ package com.xydl.cac.service.impl;
import com.xydl.cac.entity.*; import com.xydl.cac.entity.*;
import com.xydl.cac.exception.BusinessException; import com.xydl.cac.exception.BusinessException;
import com.xydl.cac.model.IcdAttUpdateModel;
import com.xydl.cac.repository.*; import com.xydl.cac.repository.*;
import com.xydl.cac.service.IcdFileConfigService; import com.xydl.cac.service.IcdFileConfigService;
import com.xydl.cac.util.IcdXmlUtil; import com.xydl.cac.util.IcdXmlUtil;
@ -113,14 +114,19 @@ public class IcdFileConfigServiceImpl implements IcdFileConfigService {
} }
@Override @Override
public void updateAtt(IcdConfigTypeAtt item) throws Exception { public void updateAtt(IcdAttUpdateModel model) throws Exception {
Optional<IcdConfigTypeAtt> optional = attRepository.findById(item.getId()); if (CollectionUtils.isEmpty(model.getIdList())) {
if (!optional.isPresent()) { throw new BusinessException("id列表不能为空");
throw new BusinessException("未找到该项"); }
for (Integer id : model.getIdList()) {
Optional<IcdConfigTypeAtt> optional = attRepository.findById(id);
if (!optional.isPresent()) {
throw new BusinessException("未找到该项" + id);
}
IcdConfigTypeAtt r = optional.get();
r.setColName(model.getColName());
attRepository.save(r);
} }
IcdConfigTypeAtt r = optional.get();
r.setColName(item.getColName());
attRepository.save(r);
} }
@Override @Override

Loading…
Cancel
Save