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;
@ -39,7 +35,7 @@ public class QuotTask
* 检查OA报加单审批流程是否结束 * 检查OA报加单审批流程是否结束
*/ */
public void OAQuot() throws Exception { public void OAQuot() throws Exception {
try{ try {
// 查询 报价单-OA审批状态为审批中的单号并且在中间表显示流程已经结束的单据根据单号更新 OA审批状态 // 查询 报价单-OA审批状态为审批中的单号并且在中间表显示流程已经结束的单据根据单号更新 OA审批状态
List<OASysQuot> quots = quotService.selectOAQUOT(); List<OASysQuot> quots = quotService.selectOAQUOT();
for(OASysQuot sysoaquot:quots){ for(OASysQuot sysoaquot:quots){
@ -48,19 +44,8 @@ public class QuotTask
//将中间表 根据报价单号更新 isfinish=1 表示报价流程已结束 //将中间表 根据报价单号更新 isfinish=1 表示报价流程已结束
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);
} }