|
@@ -1,18 +1,24 @@
|
|
|
package org.springblade.business.service.impl;
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFDataFormatter;
|
|
|
import org.apache.poi.ss.usermodel.*;
|
|
|
import org.springblade.business.entity.MileagePart;
|
|
|
import org.springblade.business.entity.Mileagexy;
|
|
|
+import org.springblade.business.excel.MileageExcel;
|
|
|
import org.springblade.business.mapper.MileagexyMapper;
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
|
+import org.springblade.core.tool.api.R;
|
|
|
+import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.core.tool.utils.StringUtil;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
@AllArgsConstructor
|
|
@@ -100,65 +106,91 @@ public class MileagexyService extends BaseServiceImpl<MileagexyMapper, Mileagex
|
|
|
}
|
|
|
|
|
|
|
|
|
- public String importMileagexy(MultipartFile file,Long userId,String projectId, String contractId ,String partId) throws Exception {
|
|
|
- try {
|
|
|
- Workbook wb = WorkbookFactory.create(file.getInputStream());
|
|
|
- Sheet sheet = wb.getSheetAt(0);
|
|
|
- List<Mileagexy> importList = new ArrayList<>();
|
|
|
- MileagePart part = this.partService.getById(partId);
|
|
|
- if(part==null){
|
|
|
- return "所属片段不存在,请重新再试";
|
|
|
- }
|
|
|
- for (int i = 1; ; i++) {
|
|
|
- Row row = sheet.getRow(i);
|
|
|
- if(row == null) {
|
|
|
- break;
|
|
|
- }
|
|
|
- Mileagexy obj = new Mileagexy();
|
|
|
- for(int j=0;j<14;j++){
|
|
|
- Object v=getValue(row.getCell(j));
|
|
|
- String value="0";
|
|
|
- if(v!=null){
|
|
|
- value = v.toString();
|
|
|
- }
|
|
|
- switch (j){
|
|
|
- case 0:obj.setType(toType(value));break;
|
|
|
- case 1:obj.setValue(Double.valueOf(value));break;
|
|
|
- case 2:obj.setX(Double.valueOf(value));break;
|
|
|
- case 3:obj.setY(Double.valueOf(value));break;
|
|
|
- case 4:obj.setR(Double.valueOf(value));break;
|
|
|
- case 5:if("无".equals(value)||"0".equals(value)){obj.setSwing("");}else{obj.setSwing((String) value);};break;
|
|
|
- case 6:obj.setL(Double.valueOf(value));break;
|
|
|
- case 7:obj.setDu(Integer.valueOf(value));break;
|
|
|
- case 8:obj.setFen(Integer.valueOf(value));break;
|
|
|
- case 9:obj.setMiao(Double.valueOf(value));break;
|
|
|
- case 10:obj.setDlq(Double.valueOf(value));break;
|
|
|
- case 11:obj.setDlh(Double.valueOf(value));break;
|
|
|
- case 12:obj.setR2(Double.valueOf(value));break;
|
|
|
- case 13:obj.setOrderNum(Integer.valueOf(value));break;
|
|
|
- default:break;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- obj.setUpdateUser(userId);
|
|
|
- obj.setProjectId(projectId);
|
|
|
- obj.setValueEnd(obj.getValue()+obj.getL());
|
|
|
- obj.setPartId(partId);
|
|
|
- obj.setContractId(contractId);
|
|
|
- obj.setPartNo(part.getPrefix());
|
|
|
- //必须要设置angle
|
|
|
- obj.setAngle(obj.getDu()+Double.valueOf(obj.getFen())/60+obj.getMiao()/3600);
|
|
|
- importList.add(obj);
|
|
|
- }
|
|
|
+// public String importMileagexy(MultipartFile file,Long userId,String projectId, String contractId ,String partId) throws Exception {
|
|
|
+// try {
|
|
|
+// Workbook wb = WorkbookFactory.create(file.getInputStream());
|
|
|
+// Sheet sheet = wb.getSheetAt(0);
|
|
|
+// List<Mileagexy> importList = new ArrayList<>();
|
|
|
+// MileagePart part = this.partService.getById(partId);
|
|
|
+// if(part==null){
|
|
|
+// return "所属片段不存在,请重新再试";
|
|
|
+// }
|
|
|
+// for (int i = 1; ; i++) {
|
|
|
+// Row row = sheet.getRow(i);
|
|
|
+// if(row == null) {
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// Mileagexy obj = new Mileagexy();
|
|
|
+// for(int j=0;j<14;j++){
|
|
|
+// Object v=getValue(row.getCell(j));
|
|
|
+// String value="0";
|
|
|
+// if(v!=null){
|
|
|
+// value = v.toString();
|
|
|
+// }
|
|
|
+// switch (j){
|
|
|
+// case 0:obj.setType(toType(value));break;
|
|
|
+// case 1:obj.setValue(Double.valueOf(value));break;
|
|
|
+// case 2:obj.setX(Double.valueOf(value));break;
|
|
|
+// case 3:obj.setY(Double.valueOf(value));break;
|
|
|
+// case 4:obj.setR(Double.valueOf(value));break;
|
|
|
+// case 5:if("无".equals(value)||"0".equals(value)){obj.setSwing("");}else{obj.setSwing((String) value);};break;
|
|
|
+// case 6:obj.setL(Double.valueOf(value));break;
|
|
|
+// case 7:obj.setDu(Integer.valueOf(value));break;
|
|
|
+// case 8:obj.setFen(Integer.valueOf(value));break;
|
|
|
+// case 9:obj.setMiao(Double.valueOf(value));break;
|
|
|
+// case 10:obj.setDlq(Double.valueOf(value));break;
|
|
|
+// case 11:obj.setDlh(Double.valueOf(value));break;
|
|
|
+// case 12:obj.setR2(Double.valueOf(value));break;
|
|
|
+// case 13:obj.setOrderNum(Integer.valueOf(value));break;
|
|
|
+// default:break;
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+// obj.setUpdateUser(userId);
|
|
|
+// obj.setProjectId(projectId);
|
|
|
+// obj.setValueEnd(obj.getValue()+obj.getL());
|
|
|
+// obj.setPartId(partId);
|
|
|
+// obj.setContractId(contractId);
|
|
|
+// obj.setPartNo(part.getPrefix());
|
|
|
+// //必须要设置angle
|
|
|
+// obj.setAngle(obj.getDu()+Double.valueOf(obj.getFen())/60+obj.getMiao()/3600);
|
|
|
+// importList.add(obj);
|
|
|
+// }
|
|
|
+// this.saveBatch(importList);
|
|
|
+// return "导入成功";
|
|
|
+// } catch (Exception e){
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
+// return "导入失败";
|
|
|
+// }
|
|
|
+ public R importMileagexy(List<MileageExcel> data, Long userId, String projectId, String contractId , String partId){
|
|
|
+ List<Mileagexy> importList = new ArrayList<>();
|
|
|
+ MileagePart part = this.partService.getById(partId);
|
|
|
+ if(part==null){
|
|
|
+ return R.fail("所属片段不存在,请重新再试");
|
|
|
+ }
|
|
|
+ importList=data.stream().map(e->{
|
|
|
+ Mileagexy obj = new Mileagexy();
|
|
|
+ BeanUtils.copyProperties(e,obj);
|
|
|
+ obj.setType(e.getTypeInt());
|
|
|
+ obj.setSwing(e.getSwingNull());
|
|
|
+ obj.setUpdateUser(userId);
|
|
|
+ obj.setProjectId(projectId);
|
|
|
+ obj.setValueEnd(obj.getValue()+obj.getL());
|
|
|
+ obj.setPartId(partId);
|
|
|
+ obj.setContractId(contractId);
|
|
|
+ obj.setPartNo(part.getPrefix());
|
|
|
+ //必须要设置angle
|
|
|
+ obj.setAngle(obj.getDu()+Double.valueOf(obj.getFen())/60+obj.getMiao()/3600);
|
|
|
+ return obj;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ if(Func.isNotEmpty(importList)){
|
|
|
this.saveBatch(importList);
|
|
|
- return "导入成功";
|
|
|
- } catch (Exception e){
|
|
|
- e.printStackTrace();
|
|
|
+ return R.success("导入成功");
|
|
|
}
|
|
|
- return "导入失败";
|
|
|
+ return R.fail("导入失败");
|
|
|
}
|
|
|
|
|
|
-
|
|
|
public Mileagexy getMaxMileagexy(String partId,Integer deleted,String projId,Integer orderNum){
|
|
|
if(null!=orderNum&&orderNum>0){
|
|
|
orderNum--;
|