'123'
This commit is contained in:
parent
1efe171bc0
commit
1d92805116
|
@ -1,5 +1,5 @@
|
|||
#for tests only !
|
||||
#Mon Jun 17 15:48:27 CST 2024
|
||||
#Wed Jun 19 10:12:57 CST 2024
|
||||
jco.destination.pool_capacity=10
|
||||
jco.client.lang=ZH
|
||||
jco.client.ashost=172.19.0.125
|
||||
|
@ -7,5 +7,5 @@ jco.client.saprouter=
|
|||
jco.client.user=RFC
|
||||
jco.client.sysnr=00
|
||||
jco.destination.peak_limit=10
|
||||
jco.client.passwd=654321
|
||||
jco.client.passwd=dbTq!8PGYoMxt}M?DFv(:oQQUwH:qM9KKr$k^CHW9U;kE9uK
|
||||
jco.client.client=800
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -145,6 +145,11 @@
|
|||
<artifactId>cxf-rt-transports-http-jetty</artifactId>
|
||||
<version>3.4.3</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-test</artifactId>
|
||||
<version>5.2.12.RELEASE</version>
|
||||
</dependency>
|
||||
<!--webservice end-->
|
||||
</dependencies>
|
||||
|
||||
|
|
|
@ -29,12 +29,15 @@ import com.ruoyi.web.utils.ListSplitUtil;
|
|||
import com.ruoyi.web.utils.rbExcel.excelUtil;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.mock.web.MockMultipartFile;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
|
@ -260,10 +263,10 @@ public class RedBookController extends BaseController
|
|||
@DataSource(DataSourceType.MASTER)
|
||||
@Log(title = "生成询价单", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/madeXjQuot")
|
||||
public void madeXjQuot(HttpServletResponse response, @RequestBody OAQuot quot)
|
||||
public AjaxResult madeXjQuot(HttpServletResponse response, @RequestBody OAQuot quot) throws Exception
|
||||
{
|
||||
|
||||
Quot xjquot = new Quot();
|
||||
try{
|
||||
xjquot.setQuotId(UUID.fastUUID().toString());
|
||||
String quotCode = redBookService.getCode("BJD");
|
||||
xjquot.setQuotCode(quotCode);
|
||||
|
@ -276,15 +279,18 @@ public class RedBookController extends BaseController
|
|||
xjquot.setCreateBy(getUsername());
|
||||
iQuotService.insertQuot(xjquot);
|
||||
|
||||
List<OAQuotProduct> list = quot.getSelectedResultData();
|
||||
File file = excelUtil.exportXjQuotExcel(response,xjquot,list);
|
||||
MultipartFile multipartFile = convert(file);
|
||||
|
||||
/** 上传清单附件 **/
|
||||
/* String relation_id = xjquot.getQuotId();
|
||||
String relation_id = xjquot.getQuotId();
|
||||
if(!StringUtils.isEmpty(relation_id)){
|
||||
if (!file.isEmpty())
|
||||
if (!multipartFile.isEmpty())
|
||||
{
|
||||
QuotFile quotFile= new QuotFile();
|
||||
quotFile.setFileId(UUID.fastUUID().toString());
|
||||
|
||||
String url = FileUploadUtils.uploadMinio(file,"quot-manage", "quot/"+relation_id);
|
||||
String url = FileUploadUtils.uploadMinio(multipartFile,"quot-manage", "quot/"+relation_id);
|
||||
int index = url.lastIndexOf("/")+1;
|
||||
String fileName = url.substring(index);//获取文件名
|
||||
|
||||
|
@ -294,18 +300,38 @@ public class RedBookController extends BaseController
|
|||
quotFile.setFileName(fileName);
|
||||
quotFile.setFileBucketName(fileBucketName);
|
||||
quotFile.setFileUrl(url);
|
||||
quotFile.setFileSize(file.getSize());
|
||||
quotFile.setFileSize(multipartFile.getSize());
|
||||
quotFile.setFileTime(DateUtils.getTime());
|
||||
quotFile.setFileType("quotXjFile");
|
||||
quotFile.setRelationId(relation_id);
|
||||
quotFileService.insertQuotFile(quotFile);
|
||||
}else{
|
||||
return error("系统异常,生成清单附件为空!");
|
||||
}
|
||||
}else{
|
||||
return error("系统异常,询价单号为空!");
|
||||
}*/
|
||||
/** 上传清单附件 **/
|
||||
// return success(xjquot);
|
||||
}
|
||||
}catch(Exception e){
|
||||
return error("系统异常");
|
||||
}
|
||||
|
||||
/** 上传清单附件 **/
|
||||
return success(xjquot);
|
||||
}
|
||||
|
||||
/**
|
||||
* File转MultipartFile
|
||||
* @param file
|
||||
* @return
|
||||
* @throws IOException
|
||||
*/
|
||||
public static MultipartFile convert(File file) throws IOException {
|
||||
FileInputStream input = new FileInputStream(file);
|
||||
MultipartFile multipartFile = new MockMultipartFile("file",
|
||||
file.getName(), "application/vnd.ms-excel;charset=UTF-8", input);
|
||||
return multipartFile;
|
||||
}
|
||||
|
||||
/**
|
||||
* 报价单提交
|
||||
* @param quot
|
||||
|
|
|
@ -9,9 +9,11 @@ import com.ruoyi.redBook.domain.OAQuotProduct;
|
|||
import com.ruoyi.web.utils.IdUtils;
|
||||
import jxl.HeaderFooter;
|
||||
import jxl.Workbook;
|
||||
import jxl.format.*;
|
||||
import jxl.format.Alignment;
|
||||
import jxl.format.Border;
|
||||
import jxl.format.BorderLineStyle;
|
||||
import jxl.format.Colour;
|
||||
import jxl.format.VerticalAlignment;
|
||||
import jxl.write.Number;
|
||||
import jxl.write.*;
|
||||
|
@ -23,10 +25,7 @@ import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
|||
import org.springframework.core.io.support.ResourcePatternResolver;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.*;
|
||||
import java.math.BigDecimal;
|
||||
import java.net.URL;
|
||||
import java.util.Date;
|
||||
|
@ -665,4 +664,91 @@ public class excelUtil {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 生成询价单-清单附件
|
||||
* @param response
|
||||
* @param quot
|
||||
* @param list
|
||||
*/
|
||||
public static File exportXjQuotExcel(HttpServletResponse response, Quot quot, List<OAQuotProduct> list){
|
||||
File excelFile = null;
|
||||
try {
|
||||
excelFile = new File(quot.getQuotCode()+".xls");
|
||||
WritableWorkbook wwb = Workbook.createWorkbook(excelFile);
|
||||
|
||||
// 新建一张表
|
||||
WritableSheet wsheet = wwb.createSheet("报价单", 0);
|
||||
Label label = new Label(0, 0, "");
|
||||
int i= 0;
|
||||
//产品信息
|
||||
WritableFont wf_merge = new WritableFont(WritableFont.ARIAL,11,WritableFont.BOLD,false, UnderlineStyle.NO_UNDERLINE, Colour.WHITE);
|
||||
WritableCellFormat wff_merge = new WritableCellFormat(wf_merge);
|
||||
wff_merge.setAlignment(Alignment.CENTRE);
|
||||
wff_merge.setBackground(jxl.format.Colour.GREY_50_PERCENT); // 设置单元格的背景颜色
|
||||
|
||||
wsheet.setRowView(i,400);
|
||||
label = new Label(0, i, "产品型号",wff_merge);
|
||||
|
||||
wsheet.addCell(label);
|
||||
label = new Label(1, i, "规格",wff_merge);
|
||||
wsheet.addCell(label);
|
||||
label = new Label(2, i, "电压",wff_merge);
|
||||
wsheet.addCell(label);
|
||||
label = new Label(3, i, "单位",wff_merge);
|
||||
wsheet.addCell(label);
|
||||
label = new Label(4, i, "数量",wff_merge);
|
||||
wsheet.addCell(label);
|
||||
|
||||
// 列宽
|
||||
wsheet.setColumnView(0, 18);
|
||||
wsheet.setColumnView(1, 18);
|
||||
wsheet.setColumnView(2, 18);
|
||||
wsheet.setColumnView(3, 18);
|
||||
wsheet.setColumnView(4, 18);
|
||||
|
||||
i++;
|
||||
//数据
|
||||
WritableCellFormat cellFormat=new WritableCellFormat();
|
||||
cellFormat.setAlignment(Alignment.LEFT);
|
||||
|
||||
int j=1;
|
||||
|
||||
for(Iterator<OAQuotProduct> it = list.iterator(); it.hasNext();)
|
||||
{
|
||||
OAQuotProduct s = it.next();
|
||||
wsheet.setRowView(i,400);
|
||||
label = new Label(0, i, s.getName_1(),wff_merge);
|
||||
label.setCellFormat(cellFormat);
|
||||
wsheet.addCell(label);
|
||||
label = new Label(1, i, s.getSpec(),wff_merge);
|
||||
label.setCellFormat(cellFormat);
|
||||
wsheet.addCell(label);
|
||||
label = new Label(2,i, s.getVoltage(),wff_merge);
|
||||
label.setCellFormat(cellFormat);
|
||||
wsheet.addCell(label);
|
||||
label = new Label(3,i, s.getStu(),wff_merge);
|
||||
label.setCellFormat(cellFormat);
|
||||
wsheet.addCell(label);
|
||||
label = new Label(4,i, String.valueOf(s.getCount()),wff_merge);
|
||||
label.setCellFormat(cellFormat);
|
||||
wsheet.addCell(label);
|
||||
i++;
|
||||
j++;
|
||||
}
|
||||
wwb.write();
|
||||
wwb.close();
|
||||
|
||||
} catch (RowsExceededException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (WriteException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return excelFile;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -108,7 +108,7 @@ export function saveQuot(data) {
|
|||
data: data
|
||||
})
|
||||
}
|
||||
//生成报价单
|
||||
//生成询价单
|
||||
export function madeXjQuot(data) {
|
||||
return request({
|
||||
url: '/redBook/redBook/madeXjQuot',
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<el-button style="float: right;" size="mini" type="primary" icon="el-icon-search" @click="handleSearchClick">搜索</el-button>
|
||||
</el-col>
|
||||
<el-col :span="14">
|
||||
<!--<el-button style="float: right;margin-left: 5px;" size="mini" type="primary" icon="el-icon-document" @click="handleMadeXjQuotClick" :disabled="selectedResultData.length==0 || madeQuotDis">生成询价单</el-button>-->
|
||||
<el-button style="float: right;margin-left: 5px;" size="mini" type="primary" icon="el-icon-document" @click="handleMadeXjQuotClick" :disabled="selectedResultData.length==0 || madeQuotDis">生成询价单</el-button>
|
||||
<el-button style="float: right;margin-left: 5px;" size="mini" type="success" icon="el-icon-document" @click="handleMadeQuotClick" :disabled="selectedResultData.length==0 || madeQuotDis">生成报价单</el-button>
|
||||
<el-button style="float: right;margin-left: 5px;" size="mini" type="warning" icon="el-icon-folder" @click="handleSaveClick" :disabled="selectedResultData.length==0">保存</el-button>
|
||||
<el-button style="float: right;margin-left: 5px;" size="mini" icon="el-icon-refresh" @click="handleRefreshClick">清空信息</el-button>
|
||||
|
@ -784,27 +784,7 @@
|
|||
handleMadeXjQuotClick() {
|
||||
this.form.selectedResultData = this.selectedResultData;
|
||||
madeXjQuot(this.form).then(response => {
|
||||
//this.$modal.msgSuccess("生成询价单成功,单号:"+response.data.quotCode);
|
||||
// 处理返回的文件流
|
||||
const content = response;
|
||||
const blob = new Blob([content]);
|
||||
const fileName = "RB_BJD_"+this.getTodayCourse()+".xls";
|
||||
if ("download" in document.createElement("a")) {
|
||||
// 非IE下载
|
||||
const elink = document.createElement("a");
|
||||
elink.download = fileName;
|
||||
elink.style.display = "none";
|
||||
elink.href = URL.createObjectURL(blob);
|
||||
document.body.appendChild(elink);
|
||||
elink.click();
|
||||
URL.revokeObjectURL(elink.href); // 释放URL 对象
|
||||
document.body.removeChild(elink);
|
||||
}else {
|
||||
// IE10+下载
|
||||
navigator.msSaveBlob(blob, fileName);
|
||||
}
|
||||
|
||||
|
||||
this.$modal.msgSuccess("生成询价单成功,单号:"+response.data.quotCode);
|
||||
});
|
||||
},
|
||||
|
||||
|
|
|
@ -84,11 +84,6 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="审核人" align="center" prop="quotCheckUserNickname" width="160" />
|
||||
<el-table-column label="报价时间" align="center" prop="quotQuotationDate" width="160">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.quotQuotationDate) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</template>
|
||||
|
|
Loading…
Reference in New Issue