Merge branch 'main' of http://jialcheerful.club:3000/xd/JNBusiness
This commit is contained in:
commit
f17502cf53
|
@ -1,9 +1,13 @@
|
|||
#for tests only !
|
||||
<<<<<<< HEAD
|
||||
#Wed Jun 19 10:12:57 CST 2024
|
||||
=======
|
||||
<<<<<<< HEAD
|
||||
#Wed Jun 19 09:11:03 CST 2024
|
||||
=======
|
||||
#Mon Jun 17 15:48:27 CST 2024
|
||||
>>>>>>> 1efe171bc013909adaa8e3300a0b9ce6c2e24d85
|
||||
>>>>>>> d63db1c95090eda2578290808925b20b3608a764
|
||||
jco.destination.pool_capacity=10
|
||||
jco.client.lang=ZH
|
||||
jco.client.ashost=172.19.0.125
|
||||
|
@ -12,8 +16,12 @@ jco.client.user=RFC
|
|||
jco.client.sysnr=00
|
||||
jco.destination.peak_limit=10
|
||||
<<<<<<< HEAD
|
||||
jco.client.passwd=dbTq!8PGYoMxt}M?DFv(:oQQUwH:qM9KKr$k^CHW9U;kE9uK
|
||||
=======
|
||||
<<<<<<< HEAD
|
||||
jco.client.passwd=g}=[!8cY+]^Y:h6_:E9``X=J#eA[=IM/|(0EB`M)]I1i?/qD
|
||||
=======
|
||||
jco.client.passwd=654321
|
||||
>>>>>>> 1efe171bc013909adaa8e3300a0b9ce6c2e24d85
|
||||
>>>>>>> d63db1c95090eda2578290808925b20b3608a764
|
||||
jco.client.client=800
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -28,13 +28,17 @@ import com.ruoyi.web.utils.IdUtils;
|
|||
import com.ruoyi.web.utils.ListSplitUtil;
|
||||
import com.ruoyi.web.utils.rbExcel.excelUtil;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
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,52 +264,79 @@ 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();
|
||||
xjquot.setQuotId(UUID.fastUUID().toString());
|
||||
String quotCode = redBookService.getCode("BJD");
|
||||
xjquot.setQuotCode(quotCode);
|
||||
xjquot.setQuotApprovalStatus("0");
|
||||
xjquot.setQuotSalesmanCode(getUsername());
|
||||
xjquot.setQuotSalesmanBm(getLoginUser().getUser().getSapUserBm());
|
||||
xjquot.setQuotSalesmanName(getLoginUser().getUser().getNickName());
|
||||
xjquot.setQuotSalesmanDeptId(getLoginUser().getUser().getDept().getDeptId()+"");
|
||||
xjquot.setQuotSalesmanDeptName(getLoginUser().getUser().getDept().getDeptName());
|
||||
xjquot.setCreateBy(getUsername());
|
||||
iQuotService.insertQuot(xjquot);
|
||||
File excelFile = null;
|
||||
try{
|
||||
xjquot.setQuotId(UUID.fastUUID().toString());
|
||||
String quotCode = redBookService.getCode("BJD");
|
||||
xjquot.setQuotCode(quotCode);
|
||||
xjquot.setQuotApprovalStatus("0");
|
||||
xjquot.setQuotSalesmanCode(getUsername());
|
||||
xjquot.setQuotSalesmanBm(getLoginUser().getUser().getSapUserBm());
|
||||
xjquot.setQuotSalesmanName(getLoginUser().getUser().getNickName());
|
||||
xjquot.setQuotSalesmanDeptId(getLoginUser().getUser().getDept().getDeptId()+"");
|
||||
xjquot.setQuotSalesmanDeptName(getLoginUser().getUser().getDept().getDeptName());
|
||||
xjquot.setCreateBy(getUsername());
|
||||
iQuotService.insertQuot(xjquot);
|
||||
|
||||
/** 上传清单附件 **/
|
||||
/* String relation_id = xjquot.getQuotId();
|
||||
if(!StringUtils.isEmpty(relation_id)){
|
||||
if (!file.isEmpty())
|
||||
{
|
||||
QuotFile quotFile= new QuotFile();
|
||||
quotFile.setFileId(UUID.fastUUID().toString());
|
||||
List<OAQuotProduct> list = quot.getSelectedResultData();
|
||||
|
||||
String url = FileUploadUtils.uploadMinio(file,"quot-manage", "quot/"+relation_id);
|
||||
int index = url.lastIndexOf("/")+1;
|
||||
String fileName = url.substring(index);//获取文件名
|
||||
excelFile = new File("xjQuotFile/"+xjquot.getQuotCode()+".xls");
|
||||
File file = excelUtil.exportXjQuotExcel(response,excelFile,xjquot,list);
|
||||
MultipartFile multipartFile = convert(file);
|
||||
|
||||
int index2 = url.indexOf("/quot/");
|
||||
String fileBucketName = url.substring(index2);//获取文件对应文件服务器中地址-供后面删除功能用
|
||||
/** 上传清单附件 **/
|
||||
String relation_id = xjquot.getQuotId();
|
||||
if(!StringUtils.isEmpty(relation_id)){
|
||||
if (!multipartFile.isEmpty())
|
||||
{
|
||||
QuotFile quotFile= new QuotFile();
|
||||
quotFile.setFileId(UUID.fastUUID().toString());
|
||||
String url = FileUploadUtils.uploadMinio(multipartFile,"quot-manage", "quot/"+relation_id);
|
||||
int index = url.lastIndexOf("/")+1;
|
||||
String fileName = url.substring(index);//获取文件名
|
||||
|
||||
quotFile.setFileName(fileName);
|
||||
quotFile.setFileBucketName(fileBucketName);
|
||||
quotFile.setFileUrl(url);
|
||||
quotFile.setFileSize(file.getSize());
|
||||
quotFile.setFileTime(DateUtils.getTime());
|
||||
quotFile.setFileType("quotXjFile");
|
||||
quotFile.setRelationId(relation_id);
|
||||
quotFileService.insertQuotFile(quotFile);
|
||||
int index2 = url.indexOf("/quot/");
|
||||
String fileBucketName = url.substring(index2);//获取文件对应文件服务器中地址-供后面删除功能用
|
||||
|
||||
quotFile.setFileName(fileName);
|
||||
quotFile.setFileBucketName(fileBucketName);
|
||||
quotFile.setFileUrl(url);
|
||||
quotFile.setFileSize(multipartFile.getSize());
|
||||
quotFile.setFileTime(DateUtils.getTime());
|
||||
quotFile.setFileType("quotXjFile");
|
||||
quotFile.setRelationId(relation_id);
|
||||
quotFileService.insertQuotFile(quotFile);
|
||||
}else{
|
||||
return error("系统异常,生成清单附件为空!");
|
||||
}
|
||||
}else{
|
||||
return error("系统异常,询价单号为空!");
|
||||
}
|
||||
}else{
|
||||
return error("系统异常,询价单号为空!");
|
||||
}*/
|
||||
}catch(Exception e){
|
||||
return error("系统异常");
|
||||
}
|
||||
|
||||
/** 上传清单附件 **/
|
||||
// return success(xjquot);
|
||||
FileUtils.delete(excelFile);
|
||||
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,26 +9,20 @@ 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.*;
|
||||
import jxl.write.biff.RowsExceededException;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
import org.springframework.core.io.Resource;
|
||||
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;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
@ -665,4 +659,89 @@ public class excelUtil {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 生成询价单-清单附件
|
||||
* @param response
|
||||
* @param quot
|
||||
* @param list
|
||||
*/
|
||||
public static File exportXjQuotExcel(HttpServletResponse response,File excelFile, Quot quot, List<OAQuotProduct> list){
|
||||
try {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ spring:
|
|||
# 密码
|
||||
password:
|
||||
# 连接超时时间
|
||||
timeout: 30s
|
||||
timeout: 60s
|
||||
lettuce:
|
||||
pool:
|
||||
# 连接池中的最小空闲连接
|
||||
|
@ -96,7 +96,7 @@ spring:
|
|||
# 连接池中的最大空闲连接
|
||||
max-idle: 100
|
||||
# 连接池的最大数据库连接数
|
||||
max-active: 300
|
||||
max-active: 500
|
||||
# #连接池最大阻塞等待时间(使用负值表示没有限制)
|
||||
max-wait: -1ms
|
||||
# 关闭超时时间
|
||||
|
|
|
@ -43,6 +43,7 @@ public class RedissonConfig {
|
|||
// 可以用"rediss://"来启用SSL连接
|
||||
String address = "redis://" + host + ":" + port;
|
||||
singleServerConfig.setAddress(address);
|
||||
config.useSingleServer().setPingConnectionInterval(0); // 防止出现 redis 连接不上的问题
|
||||
// 设置 数据库编号
|
||||
singleServerConfig.setDatabase(database);
|
||||
/*
|
||||
|
|
|
@ -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