This commit is contained in:
xd 2024-06-11 13:24:35 +08:00
parent bb60908d4a
commit cd3460ea2c
17 changed files with 609 additions and 125 deletions

View File

@ -22,6 +22,7 @@ import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysNoticeService; import com.ruoyi.system.service.ISysNoticeService;
import com.ruoyi.web.utils.IdUtils; import com.ruoyi.web.utils.IdUtils;
import com.ruoyi.web.utils.SapFunction.SapRfcUtils; import com.ruoyi.web.utils.SapFunction.SapRfcUtils;
import com.ruoyi.web.utils.SapHana.SapHanaUtils;
import com.ruoyi.web.utils.SendNotice.NoticeUtil; import com.ruoyi.web.utils.SendNotice.NoticeUtil;
import com.ruoyi.web.utils.qcc.HttpHelper; import com.ruoyi.web.utils.qcc.HttpHelper;
import com.ruoyi.web.utils.qcc.QiChaChaUtil; import com.ruoyi.web.utils.qcc.QiChaChaUtil;
@ -186,8 +187,11 @@ public class CustomerController extends BaseController
@Log(title = "客户信息提交", businessType = BusinessType.OTHER) @Log(title = "客户信息提交", businessType = BusinessType.OTHER)
@PostMapping("/commitCustomer") @PostMapping("/commitCustomer")
public AjaxResult commitCustomer(@RequestBody Customer customer) { public AjaxResult commitCustomer(@RequestBody Customer customer) {
// TODO 校验客户名-税号 是否SAP存在 //校验客户名-税号 SAP是否存在
Boolean isExist = SapHanaUtils.isExist(customer.getCusName(),customer.getCusVatNo());
if(isExist){
return error("已存在该客户,请勿重复提交");
}
String cus_id = customer.getCusId(); String cus_id = customer.getCusId();
customer.setUpdateBy(getUsername()); customer.setUpdateBy(getUsername());

View File

@ -2,7 +2,6 @@ package com.ruoyi.web.controller.quot;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
@ -13,14 +12,13 @@ import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.FileUploadUtils; import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.MinioUtil; import com.ruoyi.common.utils.file.MinioUtil;
import com.ruoyi.common.utils.http.HttpUtils;
import com.ruoyi.common.utils.sign.Base64; import com.ruoyi.common.utils.sign.Base64;
import com.ruoyi.common.utils.uuid.UUID; import com.ruoyi.common.utils.uuid.UUID;
import com.ruoyi.priceVerification.domain.QuotHj; import com.ruoyi.priceVerification.domain.QuotHj;
import com.ruoyi.priceVerification.service.IQuotHjService; import com.ruoyi.priceVerification.service.IQuotHjService;
import com.ruoyi.quot.domain.*; import com.ruoyi.quot.domain.*;
import com.ruoyi.quot.domain.jsw.QuotJswFile; import com.ruoyi.quot.domain.jsw.*;
import com.ruoyi.quot.domain.jsw.QuotJswFiles;
import com.ruoyi.quot.domain.jsw.QuotJswResult;
import com.ruoyi.quot.service.IQuotFileService; import com.ruoyi.quot.service.IQuotFileService;
import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysNoticeService; import com.ruoyi.system.service.ISysNoticeService;
@ -455,7 +453,52 @@ public class QuotController extends BaseController
public AjaxResult commitJswQuot(@RequestBody Quot quot) public AjaxResult commitJswQuot(@RequestBody Quot quot)
{ {
// 对接金思维接口 // 对接金思维接口
//附件对接 //==============================账户认证==================================
QuotJswUser quotJswUser = new QuotJswUser("JNBJPT","1q2w3e","S","");
String quotJswUserJson = JSON.toJSONString(quotJswUser);
String QuotJswUserResultJson = HttpUtils.sendPostJson("http://price.jncable.com.cn:7778/GTHINKING/AjaxService/N_MISPRO/100208057.ashx/Login",quotJswUserJson);
QuotJswUserResult quotJswUserResult = JSON.parseObject(QuotJswUserResultJson, QuotJswUserResult.class);
if(!quotJswUserResult.getSuccess()){
return error(quotJswUserResult.getErrorMessage());
}
//==============================报价单信息对接==================================
QuotJswInfo quotJswInfo = new QuotJswInfo();
quotJswInfo.setQuotCode(quot.getQuotCode());
quotJswInfo.setXsy(quot.getQuotSalesmanName());
quotJswInfo.setXsyid(quot.getQuotSalesmanCode());
quotJswInfo.setKh(quot.getQuotCustomerName());
quotJswInfo.setKhid(quot.getQuotCustomerBm());
quotJswInfo.setBz(quot.getQuotQuotationRequire());
List<QuotJswMaterial> quotJswMaterials = new ArrayList<>();
QuotJswMaterial quotJswMaterial = null;
for(QuotMaterial m:quot.getQuotMaterialList()){
quotJswMaterial = new QuotJswMaterial();
quotJswMaterial.setMatXingh(m.getMatXingh());
quotJswMaterial.setMatGuig(m.getMatGuig());
quotJswMaterial.setMatDiany(m.getMatDiany());
quotJswMaterial.setMatStandard(m.getMatStandard());
quotJswMaterial.setMatSl(m.getMatSl());
quotJswMaterial.setMatDanw(m.getMatDanw());
quotJswMaterial.setMatRemark(m.getMatRemark());
quotJswMaterials.add(quotJswMaterial);
}
quotJswInfo.setQuotMaterial(quotJswMaterials);
QuotJsw quotJsw = new QuotJsw();
quotJsw.setRecBJDInfo(quotJswInfo);
String quotJson = JSON.toJSONString(quotJsw);
//调用金思维接口上传报价单信息
String QuotJswResultJson = HttpUtils.sendPostJson("http://price.jncable.com.cn:7778/GTHINKING/AjaxService/U20231485_N_XLXSBJ/100860101.ashx/RecBJDfromJN",quotJson);
QuotResultObject quotJswResultObject = JSON.parseObject(QuotJswResultJson, QuotResultObject.class);
if(!quotJswResultObject.getResultObject().getSuccess()){
return error(quotJswResultObject.getResultObject().getErrorMessage());
}
//==============================附件对接==================================
List<QuotFile> files = new ArrayList<>(); List<QuotFile> files = new ArrayList<>();
QuotFile quotFile = new QuotFile(); QuotFile quotFile = new QuotFile();
@ -476,16 +519,20 @@ public class QuotController extends BaseController
QuotJswFiles quotJswFiles = null; QuotJswFiles quotJswFiles = null;
QuotJswFile quotJswFile = new QuotJswFile(); QuotJswFile quotJswFile = new QuotJswFile();
quotJswFile.setBJDID(quot.getQuotCode()); quotJswFile.setBjdid(quot.getQuotCode());
for(QuotFile qf:files){ for(QuotFile qf:files){
quotJswFiles = new QuotJswFiles(); quotJswFiles = new QuotJswFiles();
quotJswFiles.setFileName(qf.getFileName()); quotJswFiles.setFileName(qf.getFileName());
quotJswFiles.setFileData(Base64.fileBase64(qf.getFileUrl())); quotJswFiles.setFileData(Base64.fileBase64(qf.getFileUrl()));
quotJswFile.getFJData().add(quotJswFiles); quotJswFile.getFjdata().add(quotJswFiles);
} }
String json = JSON.toJSONString(quotJswFile); String fileJson = JSON.toJSONString(quotJswFile);
//调用金思维接口上传附件 //调用金思维接口上传附件
String QuotJswResultFileJson = HttpUtils.sendPostJson("http://price.jncable.com.cn:7778/GTHINKING/AjaxService/U20231485_N_XLXSBJ/100860101.ashx/UploadFile",fileJson);
QuotResultObject quotJswResult = JSON.parseObject(QuotJswResultFileJson, QuotResultObject.class);
if(!quotJswResult.getResultObject().getSuccess()){
return error(quotJswResult.getResultObject().getErrorMessage());
}
quot.setQuotJswApprovalStatus("1");// 更新金思维提交状态为 协助中 quot.setQuotJswApprovalStatus("1");// 更新金思维提交状态为 协助中

View File

@ -0,0 +1,157 @@
package com.ruoyi.web.utils.SapHana;
import java.sql.*;
/*
* Sap Hana数据库读取配置
* */
public class HanaDB {
static {
try {
Class.forName("com.sap.db.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConn() {
Connection conn = null;
try {
conn = DriverManager.getConnection(
"jdbc:sap://172.19.1.10:30013?databaseName=EHP&reconnect=true&useServerPrepStmts=false&rewriteBatchedStatements=true",
"ABAP01", "JNdl@2022");
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static Statement getStmt(Connection conn) {
Statement stmt = null;
try {
stmt = conn.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
return stmt;
}
public static ResultSet executeQuery(Statement stmt, String sql) {
ResultSet rs = null;
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public static ResultSet executeQuery(Connection conn, String sql) {
ResultSet rs = null;
try {
rs = conn.createStatement().executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public static int executeUpdate(Connection conn, String sql) {
int ret = 0;
Statement stmt = null;
try {
stmt = conn.createStatement();
ret = stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
close(stmt);
}
return ret;
}
public static ResultSet executeQuery(PreparedStatement pstmt) {
ResultSet rs = null;
try {
rs = pstmt.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return rs;
}
public static PreparedStatement getPstmt(Connection conn, String sql) {
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}
public static PreparedStatement getPstmt(Connection conn, String sql, boolean autoGeneratedKeys) {
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
} catch (SQLException e) {
e.printStackTrace();
}
return pstmt;
}
public static CallableStatement getCallstmt(Connection conn, String sql) {
CallableStatement cstmt = null;
try {
cstmt = conn.prepareCall(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return cstmt;
}
public static void close(Connection conn) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
conn = null;
}
}
public static void close(Statement stmt) {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
stmt = null;
}
}
public static void close(ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
rs = null;
}
}
}

View File

@ -0,0 +1,43 @@
package com.ruoyi.web.utils.SapHana;
import java.sql.Connection;
import java.sql.ResultSet;
/**
* SAP 直连hana数据库 工具类
*/
public class SapHanaUtils {
/**
* 查询SAP是否存在相同名称和税号的客户
* @param cusName
* @param cusVatNo
* @return
*/
public static Boolean isExist(String cusName, String cusVatNo) {
Boolean flag = false;
Connection conn = null;
ResultSet rs = null;
try {
conn = HanaDB.getConn();
StringBuffer sf = new StringBuffer();
sf.append(" select name1,BAHNS from SAPHANADB.KNA1 ");
sf.append(" where name1 = '" + cusName + "'" );
sf.append(" and BAHNS = '" + cusVatNo + "'" );
rs = HanaDB.executeQuery(conn, String.valueOf(sf));
if (rs.next()) {
do {
flag = true;
} while (rs.next());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
HanaDB.close(rs);
HanaDB.close(conn);
}
return flag;
}
}

View File

@ -1,57 +1,51 @@
//package com.ruoyi.quartz.config; package com.ruoyi.quartz.config;
// import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;
//import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.quartz.SchedulerFactoryBean;
//import org.springframework.scheduling.quartz.SchedulerFactoryBean; import javax.sql.DataSource;
//import javax.sql.DataSource; import java.util.Properties;
//import java.util.Properties; /**
// * 定时任务配置单机部署建议删除此类和qrtz数据库表默认走内存会最高效
///** *
// * 定时任务配置单机部署建议删除此类和qrtz数据库表默认走内存会最高效 * @author ruoyi
// * */
// * @author ruoyi @Configuration
// */ public class ScheduleConfig
//@Configuration {
//public class ScheduleConfig @Bean
//{ public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource)
// @Bean {
// public SchedulerFactoryBean schedulerFactoryBean(DataSource dataSource) SchedulerFactoryBean factory = new SchedulerFactoryBean();
// { factory.setDataSource(dataSource);
// SchedulerFactoryBean factory = new SchedulerFactoryBean(); // quartz参数
// factory.setDataSource(dataSource); Properties prop = new Properties();
// prop.put("org.quartz.scheduler.instanceName", "RuoyiScheduler");
// // quartz参数 prop.put("org.quartz.scheduler.instanceId", "AUTO");
// Properties prop = new Properties(); // 线程池配置
// prop.put("org.quartz.scheduler.instanceName", "RuoyiScheduler"); prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool");
// prop.put("org.quartz.scheduler.instanceId", "AUTO"); prop.put("org.quartz.threadPool.threadCount", "20");
// // 线程池配置 prop.put("org.quartz.threadPool.threadPriority", "5");
// prop.put("org.quartz.threadPool.class", "org.quartz.simpl.SimpleThreadPool"); // JobStore配置
// prop.put("org.quartz.threadPool.threadCount", "20"); prop.put("org.quartz.jobStore.class", "org.springframework.scheduling.quartz.LocalDataSourceJobStore");
// prop.put("org.quartz.threadPool.threadPriority", "5"); // 集群配置
// // JobStore配置 prop.put("org.quartz.jobStore.isClustered", "true");
// prop.put("org.quartz.jobStore.class", "org.springframework.scheduling.quartz.LocalDataSourceJobStore"); prop.put("org.quartz.jobStore.clusterCheckinInterval", "15000");
// // 集群配置 prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "10");
// prop.put("org.quartz.jobStore.isClustered", "true"); prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true");
// prop.put("org.quartz.jobStore.clusterCheckinInterval", "15000"); // sqlserver 启用
// prop.put("org.quartz.jobStore.maxMisfiresToHandleAtATime", "10"); prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?");
// prop.put("org.quartz.jobStore.txIsolationLevelSerializable", "true"); prop.put("org.quartz.jobStore.misfireThreshold", "12000");
// prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_");
// // sqlserver 启用 factory.setQuartzProperties(prop);
// // prop.put("org.quartz.jobStore.selectWithLockSQL", "SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?"); factory.setSchedulerName("RuoyiScheduler");
// prop.put("org.quartz.jobStore.misfireThreshold", "12000"); // 延时启动
// prop.put("org.quartz.jobStore.tablePrefix", "QRTZ_"); factory.setStartupDelay(1);
// factory.setQuartzProperties(prop); factory.setApplicationContextSchedulerContextKey("applicationContextKey");
// // 可选QuartzScheduler
// factory.setSchedulerName("RuoyiScheduler"); // 启动时更新己存在的Job这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了
// // 延时启动 factory.setOverwriteExistingJobs(true);
// factory.setStartupDelay(1); // 设置自动启动默认为true
// factory.setApplicationContextSchedulerContextKey("applicationContextKey"); factory.setAutoStartup(true);
// // 可选QuartzScheduler return factory;
// // 启动时更新己存在的Job这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了 }
// factory.setOverwriteExistingJobs(true); }
// // 设置自动启动默认为true
// factory.setAutoStartup(true);
//
// return factory;
// }
//}

View File

@ -3,8 +3,10 @@ package com.ruoyi.quartz.task;
import com.ruoyi.common.constant.CacheConstants; import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.core.redis.RedisLock; import com.ruoyi.common.core.redis.RedisLock;
import com.ruoyi.common.utils.ip.IpUtils;
import com.ruoyi.quartz.domain.OASysQuot; import com.ruoyi.quartz.domain.OASysQuot;
import com.ruoyi.quartz.service.OAQuotService; import com.ruoyi.quartz.service.OAQuotService;
import org.redisson.api.RLock;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
@ -19,12 +21,6 @@ import java.util.List;
@Component("quotTask") @Component("quotTask")
public class QuotTask public class QuotTask
{ {
@Autowired
private RedisCache redisCache;
@Autowired
private RedisLock redisLock;
@Resource @Resource
private OAQuotService quotService; private OAQuotService quotService;
@ -49,18 +45,7 @@ public class QuotTask
quotService.updateOAQuotByQuotCode(sysoaquot.getQuotCode()); quotService.updateOAQuotByQuotCode(sysoaquot.getQuotCode());
} }
} catch (Exception e) { } catch (Exception e) {
throw new Exception(e.getMessage(), e); e.printStackTrace();
} }
} }
/**
* 定时任务缓存键名
*
* @param jobId 任务编号
* @return 缓存键key
*/
private String getJobKey(String jobId)
{
return CacheConstants.SYS_JOB_KEY + jobId;
}
} }

View File

@ -6,6 +6,7 @@ import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.core.redis.RedisLock; import com.ruoyi.common.core.redis.RedisLock;
import com.ruoyi.common.enums.DataSourceType; import com.ruoyi.common.enums.DataSourceType;
import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.quartz.domain.OASysQuot;
import com.ruoyi.quartz.domain.c_rb_product_price; import com.ruoyi.quartz.domain.c_rb_product_price;
import com.ruoyi.quartz.domain.c_rb_productbase_price; import com.ruoyi.quartz.domain.c_rb_productbase_price;
import com.ruoyi.quartz.service.SapTjService; import com.ruoyi.quartz.service.SapTjService;
@ -29,15 +30,6 @@ import java.util.List;
@Component("rbTask") @Component("rbTask")
public class RbTask public class RbTask
{ {
@Autowired
private RedisCache redisCache;
@Autowired
private RedisLock redisLock;
@Autowired
private Scheduler scheduler;
@Resource @Resource
private SapTjService sapTjService; private SapTjService sapTjService;
@ -52,7 +44,6 @@ public class RbTask
* 同步红本数据库 * 同步红本数据库
*/ */
public void tongb() throws Exception { public void tongb() throws Exception {
String rbVersionUid = testUtils.sapTjService.selRbVersionUid();//红本调价记录uid String rbVersionUid = testUtils.sapTjService.selRbVersionUid();//红本调价记录uid
//判断是否已执行调价 6.3 redbook rb_productVersion 是否有新增uid and sta='1'sdmdm1 调价日期今日的数据是否存在 //判断是否已执行调价 6.3 redbook rb_productVersion 是否有新增uid and sta='1'sdmdm1 调价日期今日的数据是否存在
String locVersionUid = testUtils.sapTjService.selLocVersionUid();//本地红本调价记录uid String locVersionUid = testUtils.sapTjService.selLocVersionUid();//本地红本调价记录uid
@ -72,22 +63,9 @@ public class RbTask
JDBCBatchInsert.insertRbProductBasePrice(productBasePriceList);//批量插入 JDBCBatchInsert.insertRbProductBasePrice(productBasePriceList);//批量插入
testUtils.sapTjService.updateLocRbVersion(rbVersionUid);//更新本地c_rb_version表 testUtils.sapTjService.updateLocRbVersion(rbVersionUid);//更新本地c_rb_version表
} }
redisCache.deleteObject(getJobKey("rbTask"));
}catch (Exception e) { }catch (Exception e) {
throw new Exception(e.getMessage(), e); throw new Exception(e.getMessage(), e);
} }
} }
/**
* 定时任务缓存键名
*
* @param jobId 任务编号
* @return 缓存键key
*/
private String getJobKey(String jobId)
{
return CacheConstants.SYS_JOB_KEY + jobId;
}
} }

View File

@ -0,0 +1,16 @@
package com.ruoyi.quot.domain.jsw;
/**
* 金思维 上传报价单信息
*/
public class QuotJsw {
private QuotJswInfo recBJDInfo;
public QuotJswInfo getRecBJDInfo() {
return recBJDInfo;
}
public void setRecBJDInfo(QuotJswInfo recBJDInfo) {
this.recBJDInfo = recBJDInfo;
}
}

View File

@ -2,23 +2,26 @@ package com.ruoyi.quot.domain.jsw;
import java.util.List; import java.util.List;
/**
* 金思维 上传报价单附件信息
*/
public class QuotJswFile { public class QuotJswFile {
private String BJDID; private String bjdid;
List<QuotJswFiles> FJData; List<QuotJswFiles> fjdata;
public String getBJDID() { public String getBjdid() {
return BJDID; return bjdid;
} }
public void setBJDID(String BJDID) { public void setBjdid(String bjdid) {
this.BJDID = BJDID; this.bjdid = bjdid;
} }
public List<QuotJswFiles> getFJData() { public List<QuotJswFiles> getFjdata() {
return FJData; return fjdata;
} }
public void setFJData(List<QuotJswFiles> FJData) { public void setFjdata(List<QuotJswFiles> fjdata) {
this.FJData = FJData; this.fjdata = fjdata;
} }
} }

View File

@ -1,5 +1,8 @@
package com.ruoyi.quot.domain.jsw; package com.ruoyi.quot.domain.jsw;
/**
* 金思维 上传报价单附件信息
*/
public class QuotJswFiles { public class QuotJswFiles {
private String fileName; private String fileName;
private String fileData; private String fileData;

View File

@ -0,0 +1,82 @@
package com.ruoyi.quot.domain.jsw;
import java.util.List;
/**
* 金思维 上传报价单主体信息
*/
public class QuotJswInfo {
private String quotCode;
private String xsy;
private String xsyid;
private String kh;
private String khid;
private String xm;
private String bz;
private List<QuotJswMaterial> quotMaterial;
public String getQuotCode() {
return quotCode;
}
public void setQuotCode(String quotCode) {
this.quotCode = quotCode;
}
public String getXsy() {
return xsy;
}
public void setXsy(String xsy) {
this.xsy = xsy;
}
public String getXsyid() {
return xsyid;
}
public void setXsyid(String xsyid) {
this.xsyid = xsyid;
}
public String getKh() {
return kh;
}
public void setKh(String kh) {
this.kh = kh;
}
public String getKhid() {
return khid;
}
public void setKhid(String khid) {
this.khid = khid;
}
public String getXm() {
return xm;
}
public void setXm(String xm) {
this.xm = xm;
}
public String getBz() {
return bz;
}
public void setBz(String bz) {
this.bz = bz;
}
public List<QuotJswMaterial> getQuotMaterial() {
return quotMaterial;
}
public void setQuotMaterial(List<QuotJswMaterial> quotMaterial) {
this.quotMaterial = quotMaterial;
}
}

View File

@ -0,0 +1,72 @@
package com.ruoyi.quot.domain.jsw;
import java.math.BigDecimal;
/**
* 金思维 上传报价单产品信息
*/
public class QuotJswMaterial {
private String matXingh;
private String matGuig;
private String matDiany;
private String matStandard;
private BigDecimal matSl;
private String matDanw;
private String matRemark;
public String getMatXingh() {
return matXingh;
}
public void setMatXingh(String matXingh) {
this.matXingh = matXingh;
}
public String getMatGuig() {
return matGuig;
}
public void setMatGuig(String matGuig) {
this.matGuig = matGuig;
}
public String getMatDiany() {
return matDiany;
}
public void setMatDiany(String matDiany) {
this.matDiany = matDiany;
}
public String getMatStandard() {
return matStandard;
}
public void setMatStandard(String matStandard) {
this.matStandard = matStandard;
}
public BigDecimal getMatSl() {
return matSl;
}
public void setMatSl(BigDecimal matSl) {
this.matSl = matSl;
}
public String getMatDanw() {
return matDanw;
}
public void setMatDanw(String matDanw) {
this.matDanw = matDanw;
}
public String getMatRemark() {
return matRemark;
}
public void setMatRemark(String matRemark) {
this.matRemark = matRemark;
}
}

View File

@ -1,15 +1,19 @@
package com.ruoyi.quot.domain.jsw; package com.ruoyi.quot.domain.jsw;
/**
* 金思维 接口返回信息
*/
public class QuotJswResult { public class QuotJswResult {
private String Success; private Boolean Success;
private String Message; private String Message;
private String ErrorMessage; private String ErrorMessage;
private String Key;
public String getSuccess() { public Boolean getSuccess() {
return Success; return Success;
} }
public void setSuccess(String success) { public void setSuccess(Boolean success) {
Success = success; Success = success;
} }
@ -28,4 +32,12 @@ public class QuotJswResult {
public void setErrorMessage(String errorMessage) { public void setErrorMessage(String errorMessage) {
ErrorMessage = errorMessage; ErrorMessage = errorMessage;
} }
public String getKey() {
return Key;
}
public void setKey(String key) {
Key = key;
}
} }

View File

@ -0,0 +1,47 @@
package com.ruoyi.quot.domain.jsw;
public class QuotJswUser {
private String userId;
private String password;
private String clientType;
private String epId;
public QuotJswUser(String userId, String password, String clientType, String epId) {
this.userId = userId;
this.password = password;
this.clientType = clientType;
this.epId = epId;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getClientType() {
return clientType;
}
public void setClientType(String clientType) {
this.clientType = clientType;
}
public String getEpId() {
return epId;
}
public void setEpId(String epId) {
this.epId = epId;
}
}

View File

@ -0,0 +1,25 @@
package com.ruoyi.quot.domain.jsw;
/**
* 金思维 用户认证 返回信息
*/
public class QuotJswUserResult {
private Boolean Success;
private String ErrorMessage;
public Boolean getSuccess() {
return Success;
}
public void setSuccess(Boolean success) {
Success = success;
}
public String getErrorMessage() {
return ErrorMessage;
}
public void setErrorMessage(String errorMessage) {
ErrorMessage = errorMessage;
}
}

View File

@ -0,0 +1,16 @@
package com.ruoyi.quot.domain.jsw;
/**
* 金思维 接口返回信息
*/
public class QuotResultObject {
private QuotJswResult ResultObject;
public QuotJswResult getResultObject() {
return ResultObject;
}
public void setResultObject(QuotJswResult resultObject) {
ResultObject = resultObject;
}
}

View File

@ -214,7 +214,7 @@ public class QuotServiceImpl implements IQuotService
for (QuotMaterial quotMaterial : quotMaterialList) for (QuotMaterial quotMaterial : quotMaterialList)
{ {
quotMaterial.setMatId(UUID.fastUUID().toString()); quotMaterial.setMatId(UUID.fastUUID().toString());
//TODO 标准 quotMaterial.setMatStandard("国标");
quotMaterial.setQuotId(quotId); quotMaterial.setQuotId(quotId);
list.add(quotMaterial); list.add(quotMaterial);
} }