|
@@ -1,6 +1,7 @@
|
|
package com.management.platform.service.impl;
|
|
package com.management.platform.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.management.platform.entity.FinanceProjects;
|
|
import com.management.platform.entity.FinanceProjects;
|
|
@@ -24,8 +25,6 @@ import org.springframework.web.multipart.MultipartFile;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import java.io.*;
|
|
import java.io.*;
|
|
-import java.text.DateFormat;
|
|
|
|
-import java.text.SimpleDateFormat;
|
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -121,7 +120,7 @@ public class ProjectPercentageServiceImpl extends ServiceImpl<ProjectPercentageM
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg importData(Integer companyId, Integer withCheckIn, MultipartFile multipartFile, HttpServletRequest request) {
|
|
|
|
|
|
+ public HttpRespMsg importData(Integer companyId, Integer withCheckIn, MultipartFile multipartFile, HttpServletRequest request,String ymonth) {
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
String fileName=multipartFile.getOriginalFilename();
|
|
String fileName=multipartFile.getOriginalFilename();
|
|
File file = new File(fileName == null ? "file" : fileName);
|
|
File file = new File(fileName == null ? "file" : fileName);
|
|
@@ -140,7 +139,6 @@ public class ProjectPercentageServiceImpl extends ServiceImpl<ProjectPercentageM
|
|
|
|
|
|
//然后解析表格
|
|
//然后解析表格
|
|
Workbook workbook = WorkbookFactory.create(new FileInputStream(file));
|
|
Workbook workbook = WorkbookFactory.create(new FileInputStream(file));
|
|
- DateFormat df = new SimpleDateFormat("yyyy-MM");
|
|
|
|
//获取公司全部成员
|
|
//获取公司全部成员
|
|
List<User> allUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
|
|
List<User> allUserList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
|
|
Sheet sheet = workbook.getSheetAt(0);
|
|
Sheet sheet = workbook.getSheetAt(0);
|
|
@@ -210,19 +208,18 @@ public class ProjectPercentageServiceImpl extends ServiceImpl<ProjectPercentageM
|
|
//人员存在
|
|
//人员存在
|
|
User user = userMapper.selectList(new QueryWrapper<User>().eq("name", username)).get(0);
|
|
User user = userMapper.selectList(new QueryWrapper<User>().eq("name", username)).get(0);
|
|
Integer s = 0;
|
|
Integer s = 0;
|
|
- dataStringOne="{"+"\""+"name"+"\""+":"+"\""+username+"\""+","+"\""+"id"+"\""+":"+"\""+user.getId()+"\""+",";
|
|
|
|
|
|
+ JSONObject jsonObject=new JSONObject();
|
|
|
|
+ jsonObject.put("name",username);
|
|
|
|
+ jsonObject.put("id",user.getId());
|
|
for (int i=projectNameStartIndex; i < projectNameStartIndex + projectList.size(); i++) {
|
|
for (int i=projectNameStartIndex; i < projectNameStartIndex + projectList.size(); i++) {
|
|
if (row.getCell(i) == null) {
|
|
if (row.getCell(i) == null) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
String stringCellValue = row.getCell(i).getStringCellValue();
|
|
String stringCellValue = row.getCell(i).getStringCellValue();
|
|
s+=Integer.parseInt(stringCellValue);
|
|
s+=Integer.parseInt(stringCellValue);
|
|
- if(i!=projectNameStartIndex + projectList.size()-1){
|
|
|
|
- dataStringOne+="\""+projectList.get(i-1)+"\""+":"+"\""+stringCellValue+"\""+",";
|
|
|
|
- }else{
|
|
|
|
- dataStringOne+="\""+projectList.get(i-1)+"\""+":"+"\""+stringCellValue+"\""+"}";
|
|
|
|
- }
|
|
|
|
|
|
+ jsonObject.put(projectList.get(i-1),stringCellValue);
|
|
}
|
|
}
|
|
|
|
+ dataStringOne=jsonObject.toJSONString();
|
|
if(rowIndex!=rowNum){
|
|
if(rowIndex!=rowNum){
|
|
dataString+=dataStringOne+",";
|
|
dataString+=dataStringOne+",";
|
|
}else{
|
|
}else{
|
|
@@ -234,8 +231,8 @@ public class ProjectPercentageServiceImpl extends ServiceImpl<ProjectPercentageM
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- ProjectPercentage percentageServiceOne = projectPercentageService.getOne(new QueryWrapper<ProjectPercentage>().eq("company_id", companyId));
|
|
|
|
- if(percentageServiceOne.getData().equals(dataString)){
|
|
|
|
|
|
+ ProjectPercentage percentageServiceOne = projectPercentageService.getOne(new QueryWrapper<ProjectPercentage>().eq("company_id", companyId).eq("ymonth",ymonth));
|
|
|
|
+ if(percentageServiceOne!=null&&percentageServiceOne.getData().equals(dataString)){
|
|
msg.setError("请勿导入重复数据");
|
|
msg.setError("请勿导入重复数据");
|
|
return msg;
|
|
return msg;
|
|
}
|
|
}
|
|
@@ -243,13 +240,13 @@ public class ProjectPercentageServiceImpl extends ServiceImpl<ProjectPercentageM
|
|
//检查是否已经存在分摊数据
|
|
//检查是否已经存在分摊数据
|
|
if(percentageServiceOne!=null){
|
|
if(percentageServiceOne!=null){
|
|
projectPercentage.setId(percentageServiceOne.getId());
|
|
projectPercentage.setId(percentageServiceOne.getId());
|
|
- projectPercentage.setYmonth(df.format(new Date()));
|
|
|
|
|
|
+ projectPercentage.setYmonth(ymonth);
|
|
projectPercentage.setData(dataString);
|
|
projectPercentage.setData(dataString);
|
|
projectPercentage.setCompanyId(companyId);
|
|
projectPercentage.setCompanyId(companyId);
|
|
projectPercentageService.updateById(projectPercentage);
|
|
projectPercentageService.updateById(projectPercentage);
|
|
}else{
|
|
}else{
|
|
projectPercentage.setId(null);
|
|
projectPercentage.setId(null);
|
|
- projectPercentage.setYmonth(df.format(new Date()));
|
|
|
|
|
|
+ projectPercentage.setYmonth(ymonth);
|
|
projectPercentage.setData(dataString);
|
|
projectPercentage.setData(dataString);
|
|
projectPercentage.setCompanyId(companyId);
|
|
projectPercentage.setCompanyId(companyId);
|
|
projectPercentageService.save(projectPercentage);
|
|
projectPercentageService.save(projectPercentage);
|