update 成员单位导出

This commit is contained in:
lijiarao
2024-07-04 10:51:39 +08:00
parent a3ca93948b
commit 9f79d887eb
4 changed files with 18 additions and 7 deletions
@@ -150,7 +150,10 @@ public class SafetyCenterSubitemController extends JeroController<SafetyCenterSu
@ApiOperation(value = "功能安全中心成员-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, SafetyCenterSubitem safetyCenterSubitem) {
return super.exportXls(request, safetyCenterSubitem, SafetyCenterSubitem.class, "功能安全中心成员");
Page<SafetyCenterSubitem> page = new Page<>(-1, -1);
IPage<SafetyCenterSubitem> pageList = safetyCenterSubitemService.pageList(page, safetyCenterSubitem);
List<SafetyCenterSubitem> list = pageList.getRecords();
return super.exportListXls(list, SafetyCenterSubitem.class, "功能安全中心成员");
}
/**
@@ -12,6 +12,7 @@ import java.util.List;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import javax.validation.constraints.Size;
@@ -62,6 +63,7 @@ public class SafetyCenterSubitem {
/**企业联系人列表*/
@TableField(exist = false)
@ApiModelProperty(value = "企业联系人列表")
@ExcelCollection(name = "企业联系人列表")
private List<SafetyCenterSubitemContacts> contactsList;
/**
@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
*功能安全中心成员-联系人
@@ -51,6 +52,7 @@ public class SafetyCenterSubitemContacts {
*/
@TableField(value = "contacts_id")
@ApiModelProperty(value="企业联系人id")
@Excel(name = "企业联系人",dictTable = "pay_contacts_management", dicText = "name", dicCode = "id")
private String contactsId;
/**
@@ -58,6 +60,7 @@ public class SafetyCenterSubitemContacts {
*/
@TableField(value = "remarks")
@ApiModelProperty(value="备注")
@Excel(name = "备注")
private String remarks;
/**
@@ -189,19 +189,22 @@ public class SafetyCenterSubitemService extends ServiceImpl<SafetyCenterSubitemM
IPage<SafetyCenterSubitem> pageList = baseMapper.pageList(page, safetyCenterSubitem);
List<SafetyCenterSubitem> records = pageList.getRecords();
//根据企业id获取所有联系人
List<String> companyIdList = records.stream().map(SafetyCenterSubitem::getCompanyId).collect(Collectors.toList());
List<String> subitemIdList = records.stream().map(SafetyCenterSubitem::getId).collect(Collectors.toList());
LambdaQueryWrapper<SafetyCenterSubitemContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.in(SafetyCenterSubitemContacts::getCompanyId,companyIdList);
wrapper.orderByAsc(SafetyCenterSubitemContacts::getCompanyId);
wrapper.in(SafetyCenterSubitemContacts::getSubitemId,subitemIdList);
wrapper.orderByAsc(SafetyCenterSubitemContacts::getSubitemId);
//根据orderNum排序
wrapper.orderByAsc(SafetyCenterSubitemContacts::getOrderNum);
List<SafetyCenterSubitemContacts> contactsList = contactsService.list(wrapper);
//根据企业id分组
Map<String, List<SafetyCenterSubitemContacts>> stringListMap = CollStreamUtil.groupByKey(contactsList, SafetyCenterSubitemContacts::getCompanyId);
Map<String, List<SafetyCenterSubitemContacts>> stringListMap = CollStreamUtil.groupByKey(contactsList, SafetyCenterSubitemContacts::getSubitemId);
//遍历,存入数据
for (SafetyCenterSubitem subitem : records) {
String companyId = subitem.getCompanyId();
List<SafetyCenterSubitemContacts> safetyCenterSubitemContacts = stringListMap.get(companyId);
String subitemId = subitem.getId();
List<SafetyCenterSubitemContacts> safetyCenterSubitemContacts = stringListMap.get(subitemId);
if (safetyCenterSubitemContacts == null){
continue;
}
subitem.setContactsId(safetyCenterSubitemContacts.get(0).getContactsId());
subitem.setContactsList(safetyCenterSubitemContacts);
}