修改绿能的导入和导出功能
parent
53193f94bb
commit
e4479a11ad
|
@ -21,17 +21,17 @@ public class GreenCarbonItem extends BaseEntity
|
|||
@Excel(name = "ID(有ID进行更新,无ID进行增加)")
|
||||
private Long id;
|
||||
|
||||
@Excel(name = "公司")
|
||||
|
||||
private String compName;
|
||||
/** 公司主键 */
|
||||
@Excel(name = "公司ID")
|
||||
|
||||
private Long comId;
|
||||
@Excel(name = "分包单位")
|
||||
|
||||
private String projectName;
|
||||
/** $column.columnComment */
|
||||
|
||||
/** 分包单位 */
|
||||
@Excel(name = "分包单位ID")
|
||||
|
||||
private Long projectId;
|
||||
|
||||
/** 碳因子类型 */
|
||||
|
|
|
@ -4,6 +4,7 @@ import java.io.*;
|
|||
import java.nio.file.Files;
|
||||
import java.util.List;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.yanzhu.common.core.utils.poi.ExcelUtil;
|
||||
import com.yanzhu.common.core.web.controller.BaseController;
|
||||
import com.yanzhu.common.core.web.domain.AjaxResult;
|
||||
|
@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
|
@ -80,12 +82,20 @@ public class GreenCarbonItemController extends BaseController
|
|||
@RequiresPermissions("manage:greenCarbonItem:import")
|
||||
@Log(title = "碳因子管理", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/import")
|
||||
public AjaxResult importData(HttpServletResponse response,MultipartFile file) throws Exception {
|
||||
public AjaxResult importData(HttpServletResponse response, MultipartFile file, HttpServletRequest request) throws Exception {
|
||||
ExcelUtil<GreenCarbonItem> util = new ExcelUtil<GreenCarbonItem>(GreenCarbonItem.class);
|
||||
List<GreenCarbonItem> list= util.importExcel(file.getInputStream());
|
||||
GreenCarbonItem where=new GreenCarbonItem();
|
||||
List<GreenCarbonItem> findList;
|
||||
long prjId= NumberUtil.parseLong(request.getParameter("prjId"),0l);
|
||||
long comId= NumberUtil.parseLong(request.getParameter("comId"),0l);
|
||||
for (GreenCarbonItem item : list){
|
||||
if(prjId==0||comId==0){
|
||||
item.setRemark("无效的项目ID或租户ID");
|
||||
continue;
|
||||
}
|
||||
item.setProjectId(prjId);
|
||||
item.setComId(comId);
|
||||
if(item.getId()==null|| item.getId().equals(0l)){
|
||||
where.setComId(item.getComId());
|
||||
where.setProjectId(item.getProjectId());
|
||||
|
@ -93,7 +103,12 @@ public class GreenCarbonItemController extends BaseController
|
|||
where.setCarbonFactorType(item.getCarbonFactorType());
|
||||
findList=greenCarbonItemService.selectGreenCarbonItemList(where);
|
||||
if(findList.size()>0){
|
||||
item.setRemark("当前项目已存在相同数据!");
|
||||
findList.stream().forEach(item1->{
|
||||
item1.setUnit(item.getUnit());
|
||||
item1.setCarbonFactor(item.getCarbonFactor());
|
||||
greenCarbonItemService.updateGreenCarbonItem(item1);
|
||||
});
|
||||
item.setRemark("修改成功!当前项目已存在相同数据!");
|
||||
} else{
|
||||
greenCarbonItemService.insertGreenCarbonItem(item);
|
||||
item.setRemark("增加成功!");
|
||||
|
@ -103,8 +118,8 @@ public class GreenCarbonItemController extends BaseController
|
|||
if(old==null){
|
||||
item.setRemark("无效ID");
|
||||
}else{
|
||||
where.setComId(item.getComId());
|
||||
where.setProjectId(item.getProjectId());
|
||||
where.setComId(old.getComId());
|
||||
where.setProjectId(old.getProjectId());
|
||||
where.setCarbonName(item.getCarbonName());
|
||||
where.setCarbonFactorType(item.getCarbonFactorType());
|
||||
findList = greenCarbonItemService.selectGreenCarbonItemList(where);
|
||||
|
|
|
@ -36,14 +36,14 @@
|
|||
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete"
|
||||
v-hasPermi="['manage:greenCarbonItem:remove']">删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-col :span="1.5" v-if="userStore.currentPrjId">
|
||||
<el-upload ref="uploadRef" :limit="1" accept=".xlsx" :headers="upload.headers" v-hasPermi="['manage:greenCarbonItem:import']"
|
||||
:action="upload.url" :disabled="upload.isUploading"
|
||||
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="true">
|
||||
<el-button type="primary" v-loading="upload.isUploading" >导入</el-button>
|
||||
</el-upload>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-col :span="1.5" v-if="userStore.currentPrjId">
|
||||
<el-button type="success" plain icon="Download" @click="handleExport"
|
||||
v-hasPermi="['manage:greenCarbonItem:export']">导出</el-button>
|
||||
</el-col>
|
||||
|
@ -132,7 +132,7 @@
|
|||
</el-table>
|
||||
<template #footer>
|
||||
<div class="dialog-footer" style="text-align: center;">
|
||||
<el-button type="primary" @click="data.openImport=false">确 定</el-button>
|
||||
<el-button type="primary" @click="doImportOk">确 定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
@ -364,10 +364,15 @@ const handleFileSuccess = (response, file, fileList) => {
|
|||
}
|
||||
};
|
||||
|
||||
function doImportOk(){
|
||||
data.openImport=false
|
||||
getList();
|
||||
}
|
||||
|
||||
|
||||
getProjectList(()=>{
|
||||
getList();
|
||||
upload.url=import.meta.env.VITE_APP_BASE_API + "/manage/greenCarbonItem/import?prjId="+userStore.currentPrjId+"&comId="+userStore.currentComId;
|
||||
});
|
||||
</script>
|
||||
<style type="scss">
|
||||
|
|
Loading…
Reference in New Issue