Merge branch 'dev_nc2k_20251213' into dev

# Conflicts:
#	mhd-auth/src/main/resources/bootstrap.yml
#	mhd-gateway/src/main/resources/bootstrap.yml
#	mhd-modules/mhd-system/src/main/resources/bootstrap.yml
#	mhd-user-center/src/main/resources/bootstrap.yml
#	mhd_finance/src/main/resources/bootstrap.yml
#	mhd_product/src/main/resources/bootstrap.yml
#	mhd_thrid_party/src/main/resources/bootstrap.yml
#	mhd_transport/src/main/resources/bootstrap.yml
This commit is contained in:
hjx
2025-12-13 17:32:20 +08:00
19 changed files with 371 additions and 106 deletions
+8 -4
View File
@@ -12,13 +12,17 @@ spring:
cloud: cloud:
nacos: nacos:
discovery: discovery:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境
# server-addr: 10.102.192.105:6848
config: config:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境
# server-addr: 10.102.192.105:6848
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yml #默认properties file-extension: yml #默认properties
# 共享配置 # 共享配置
+6
View File
@@ -180,6 +180,12 @@
<version>3.3.2</version> <version>3.3.2</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.2</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>
@@ -522,4 +522,22 @@ public class TmsOrder implements Serializable {
@ApiModelProperty(value = "付款方名称") @ApiModelProperty(value = "付款方名称")
private String payer; private String payer;
@ApiModelProperty("客户编码nc")
private String customsCodeNc;
@ApiModelProperty("制单人编码nc")
private String makerCodeNc;
@ApiModelProperty("业务员编码nc")
private String salesmanCodeNc;
@ApiModelProperty("税率")
private BigDecimal taxRate;
@ApiModelProperty("结算币种")
private String settlementCurrency;
@ApiModelProperty("合同编号")
private String contractNo;
} }
@@ -0,0 +1,137 @@
package minio;
import com.aliyun.oss.ServiceException;
import io.minio.MinioClient;
import io.minio.PutObjectArgs;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.util.UriUtils;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.UUID;
@Service
public class MinIoUploadService {
private MinioClient minioClient;
private static String bucket="ngwl";
private static String host="http://10.102.192.5:6000";
private static String accessKey="minioadmin";
private static String secretKey="gmminioadmin";
/**
* 上传到minio
* @param fileName
* @throws Exception
*/
public String uploadFileToMinIo(MultipartFile multipartFile) {
try {
initMinio();
InputStream inputStream = multipartFile.getInputStream();
// 上传文件的名称
String filename = multipartFile.getOriginalFilename();
// PutObjectOptions,上传配置(文件大小,内存中文件分片大小)
// PutObjectOptions putObjectOptions = new PutObjectOptions(multipartFile.getSize(), PutObjectOptions.MIN_MULTIPART_SIZE);
// // 文件的ContentType
// putObjectOptions.setContentType(multipartFile.getContentType());
String prefix = filename.substring(filename.lastIndexOf(".") + 1);//后缀
//根据当前时间生成文件夹
Calendar calendar = Calendar.getInstance();
Date time = calendar.getTime();
// 2. 格式化系统时间--- 这里的时间格式可以根据自己的需要进行改变
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String buckfilename = format.format(time);
String uuid= UUID.randomUUID().toString().replace("-","");//customer_YYYYMMDDHHMM
String fileName = buckfilename+"/"+uuid+"."+prefix; //文件全路径
PutObjectArgs objectArgs = PutObjectArgs.builder()
.object(fileName).bucket(bucket)
.stream(inputStream,inputStream.available(),-1).build();
//文件名称相同会覆盖
minioClient.putObject(objectArgs);
String url =host+ "/"+bucket + "/"+fileName;
//
return url;
}catch (Exception e){
//log.error(e.getMessage(),e);
}
return "";
}
private MinioClient initMinio() {
try{
MinioClient minioClient = MinioClient.builder()
.endpoint(host)
.credentials(accessKey, secretKey)
.build();
return minioClient;
}catch (Exception e) {
e.printStackTrace();
}
return minioClient;
}
/**
* 上传文件
* 文件上传成功,返回文件完整访问路径
* 文件上传失败,返回 null
*
* @param multipartFile 待上传文件
* @param fileDir 文件保存目录
* @return oss 中的相对文件路径
*/
/* public static String upload(MultipartFile multipartFile, String fileDir) {
try (InputStream inputStream = multipartFile.getInputStream()) {
//初始化minio
initMinio();
// bucket 不存在,创建
if (!minioClient1.bucketExists(bucket)) {
minioClient1.makeBucket(bucket);
}
// 上传文件的名称
String fileName = multipartFile.getOriginalFilename();
long timestamp = Calendar.getInstance().getTimeInMillis();
// PutObjectOptions,上传配置(文件大小,内存中文件分片大小)
// PutObjectOptions putObjectOptions = new PutObjectOptions(multipartFile.getSize(), PutObjectOptions.MIN_MULTIPART_SIZE);
// // 文件的ContentType
// putObjectOptions.setContentType(multipartFile.getContentType());
SimpleDateFormat sdYear = new SimpleDateFormat("yyyy");
SimpleDateFormat sdMonth = new SimpleDateFormat("MM");
SimpleDateFormat sdDay = new SimpleDateFormat("dd");
String year = sdYear.format(new Date());
String month = sdMonth.format(new Date());
String day = sdDay.format(new Date());
String filrDir = "wlhy/" + year + "/" + month + "/" + day + "/";
// minioClient.putObject(bucket, filrDir+timestamp+fileName, inputStream, putObjectOptions);
minioClient1.putObject(bucket, filrDir+timestamp+fileName, inputStream, multipartFile.getContentType());
// 返回访问路径
String fileurl = host+ "/"+bucket + "/"+filrDir+timestamp+ UriUtils.encode(fileName, StandardCharsets.UTF_8);
System.out.println("fileurl===="+fileurl);
FILE_URL = fileurl;
return fileurl;
} catch (ServiceException e){
log.error(e.getErrorMessage());
} catch (Exception e){
log.error(e.getMessage());
}
return FILE_URL;
}*/
}
+8 -4
View File
@@ -13,15 +13,19 @@ spring:
cloud: cloud:
nacos: nacos:
discovery: discovery:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.102.192.5:6848 # server-addr: 10.102.192.5:6848
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境
# server-addr: 10.102.192.105:6848
config: config:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.102.192.5:6848 # server-addr: 10.102.192.5:6848
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境
# server-addr: 10.102.192.105:6848
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yml #默认properties file-extension: yml #默认properties
# 共享配置 # 共享配置
@@ -13,13 +13,19 @@ spring:
cloud: cloud:
nacos: nacos:
discovery: discovery:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境
# server-addr: 10.102.192.105:6848
config: config:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010
server-addr: 10.33.0.129:6010
#线上正式环境
# server-addr: 10.102.192.105:6848
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yml #默认properties file-extension: yml #默认properties
# 共享配置 # 共享配置
@@ -18,15 +18,17 @@ spring:
cloud: cloud:
nacos: nacos:
discovery: discovery:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
# server-addr: 116.204.23.92:8848 #线上正式环境
# server-addr: 10.102.192.105:6848
config: config:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
# server-addr: 116.204.23.92:8848 #线上正式环境
# server-addr: 10.102.192.105:6848
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yml #默认properties file-extension: yml #默认properties
# 共享配置 # 共享配置
@@ -1,6 +1,7 @@
package com.mhd.modules.monitor.config; package com.mhd.modules.monitor.config;
import de.codecentric.boot.admin.server.config.AdminServerProperties; import de.codecentric.boot.admin.server.config.AdminServerProperties;
import org.springframework.boot.actuate.autoconfigure.security.servlet.EndpointRequest;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
@@ -9,7 +10,7 @@ import org.springframework.security.web.authentication.SavedRequestAwareAuthenti
/** /**
* 监控权限配置 * 监控权限配置
* *
* @author mhd * @author mhd
*/ */
@EnableWebSecurity @EnableWebSecurity
@@ -32,11 +33,23 @@ public class WebSecurityConfigurer
return httpSecurity return httpSecurity
.headers().frameOptions().disable() .headers().frameOptions().disable()
.and().authorizeRequests() .and().authorizeRequests()
.antMatchers("/actuator/health", "/actuator/info").permitAll() //扫描漏洞添加
.antMatchers("/actuator/**").authenticated() //扫描漏洞添加
.antMatchers(adminContextPath + "/assets/**" .antMatchers(adminContextPath + "/assets/**"
, adminContextPath + "/login" , adminContextPath + "/login"
, adminContextPath + "/actuator/**" , adminContextPath + "/actuator/**"
, adminContextPath + "/instances/**" , adminContextPath + "/instances/**"
).permitAll() ).permitAll()
// 管理端点需要认证
.antMatchers("/actuator/**").hasRole("ADMIN")//扫描漏洞添加
.antMatchers("/admin/**").hasRole("ADMIN")//扫描漏洞添加
.antMatchers("/actuator/env").hasRole("plat_admin") // 仅允许ADMIN角色访问/env端点 //扫描漏洞添加
// 允许公开访问的端点
.requestMatchers(EndpointRequest.to("health", "info", "prometheus"))//扫描漏洞添加
.permitAll()
// 敏感端点需要管理员权限
.requestMatchers(EndpointRequest.to("env", "configprops", "beans", "mappings"))//扫描漏洞添加
.hasRole("ADMIN")
.anyRequest().authenticated() .anyRequest().authenticated()
.and() .and()
.formLogin().loginPage(adminContextPath + "/login") .formLogin().loginPage(adminContextPath + "/login")
@@ -7,11 +7,15 @@ import com.linke.finance.domain.approvalDocument.repository.todo.ApprovalDocumen
import com.linke.finance.domain.approvalDocument.repository.todo.WorkflowProcessInstancesByIdDO; import com.linke.finance.domain.approvalDocument.repository.todo.WorkflowProcessInstancesByIdDO;
import com.linke.finance.domain.approvalDocument.service.ApprovalDocumentDomainService; import com.linke.finance.domain.approvalDocument.service.ApprovalDocumentDomainService;
import com.linke.finance.interfaces.vo.ApprovalStatsVO; import com.linke.finance.interfaces.vo.ApprovalStatsVO;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.security.utils.SecurityUtils; import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser; import com.mhd.system.api.model.LoginUser;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.catalina.User;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.rmi.ServerException;
import java.util.List; import java.util.List;
/** /**
* 审批单据ApplicationService * 审批单据ApplicationService
@@ -30,8 +34,12 @@ public class ApprovalDocumentApplicationService {
* 分页查询审批单据列表 * 分页查询审批单据列表
*/ */
public List<ApprovalDocumentPO> queryList(ApprovalDocumentDO approvalDocumentDO) { public List<ApprovalDocumentPO> queryList(ApprovalDocumentDO approvalDocumentDO) throws Exception{
LoginUser loginUser = SecurityUtils.getLoginUser(); LoginUser loginUser = SecurityUtils.getLoginUser();
UserPo userPo=loginUser.getUserPo();
if(!userPo.getRoleCode().equals("plat_admin")){
throw new ServerException("您没有权限访问");
}
if (loginUser != null){ if (loginUser != null){
Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId();
if (topOrganizationId != null && topOrganizationId != 1){ if (topOrganizationId != null && topOrganizationId != 1){
@@ -404,12 +404,6 @@ public class ReconciliationImpl extends ServiceImpl<ReconciliationMapper, Reconc
}else{ }else{
throw new ServiceException("查询当前登录人用户信息失败"); throw new ServiceException("查询当前登录人用户信息失败");
} }
if (org.apache.commons.lang.StringUtils.isBlank(userPo.getSalespersonNcCode())) {
throw new ServiceException("请先维护业务员编码");
}
if (org.apache.commons.lang.StringUtils.isBlank(userPo.getDocumentPreparerNcCode())) {
throw new ServiceException("请先维护制单员编码");
}
for (String businessDocumentDetaliId:businessDocumentDetaliIdArray){ for (String businessDocumentDetaliId:businessDocumentDetaliIdArray){
Reconciliation reconciliation=reconciliationMapper.selectById(businessDocumentDetaliId); Reconciliation reconciliation=reconciliationMapper.selectById(businessDocumentDetaliId);
if(reconciliation.getSynchronousStatus()==1){ if(reconciliation.getSynchronousStatus()==1){
@@ -431,6 +425,7 @@ public class ReconciliationImpl extends ServiceImpl<ReconciliationMapper, Reconc
ReconciliationDTO reconciliationDTO=new ReconciliationDTO(); ReconciliationDTO reconciliationDTO=new ReconciliationDTO();
reconciliationDTO.setInnerNumber(reconciliation.getInnerNumber()); reconciliationDTO.setInnerNumber(reconciliation.getInnerNumber());
R<List<TmsOrder>> result=wlhyServiceFeign.getOrderListByReconciliation(reconciliationDTO); R<List<TmsOrder>> result=wlhyServiceFeign.getOrderListByReconciliation(reconciliationDTO);
String makerCodeNc="";
if(result.getCode()==200){ if(result.getCode()==200){
List<TmsOrder> list=result.getData(); List<TmsOrder> list=result.getData();
if(ObjectUtil.isNotNull(list)){ if(ObjectUtil.isNotNull(list)){
@@ -448,36 +443,50 @@ public class ReconciliationImpl extends ServiceImpl<ReconciliationMapper, Reconc
if(null==reconciliation.getSettlementPartyId()){ if(null==reconciliation.getSettlementPartyId()){
throw new ServiceException("没有结算方,请核对"); throw new ServiceException("没有结算方,请核对");
} }
AjaxResult ajaxResult=userServiceFeign.getShipperSummaryData(Long.valueOf(reconciliation.getSettlementPartyId())); if (org.apache.commons.lang.StringUtils.isBlank(tmsOrder.getSalesmanCodeNc())) {
throw new ServiceException("请先维护业务员编码");
}
if (org.apache.commons.lang.StringUtils.isBlank(tmsOrder.getMakerCodeNc())) {
throw new ServiceException("请先维护制单员编码");
}
if (org.apache.commons.lang.StringUtils.isBlank(tmsOrder.getCustomsCodeNc())) {
throw new ServiceException("请先维护制单员编码");
}
makerCodeNc=tmsOrder.getMakerCodeNc();
Ysitem item=new Ysitem();
item.setSo_deptid("NG040104");
item.setPk_deptid("NG040104");
item.setPk_psndoc(tmsOrder.getSalesmanCodeNc());
item.setCustomer(tmsOrder.getCustomsCodeNc());
item.setObjtype("0");
item.setDirection("1");
item.setScomment(tmsOrder.getAppointShipper());
// item.setPk_currtype("CNY");
item.setPk_currtype(tmsOrder.getSettlementCurrency());
item.setPurchaseorder(tmsOrder.getGoodsNumber());
item.setTaxrate("0");
item.setQuantity_de("0");
item.setMoney_de(String.valueOf(tmsOrder.getDeliveryFreight()));
item.setMoney_bal(String.valueOf(tmsOrder.getDeliveryFreight()));
BigDecimal tax_de=tmsOrder.getDeliveryFreight().multiply(tmsOrder.getTaxRate()).setScale(2,BigDecimal.ROUND_HALF_UP);
BigDecimal notax_de=tmsOrder.getDeliveryFreight().subtract(tax_de);
item.setNotax_de(String.valueOf(notax_de));
item.setLocal_tax_de(String.valueOf(notax_de));
item.setTax_de(String.valueOf(tax_de));
item.setPrice(String.valueOf(tmsOrder.getDeliveryFreight()));
item.setTaxprice(String.valueOf(tmsOrder.getDeliveryFreight()));
item.setDef75("T10");
item.setInvoiceno("");
ysitemList.add(item);
/* AjaxResult ajaxResult=userServiceFeign.getShipperSummaryData(Long.valueOf(reconciliation.getSettlementPartyId()));
if(ajaxResult.get("code").toString().equals("200")){ if(ajaxResult.get("code").toString().equals("200")){
Object userShipperPo= ajaxResult.get("data"); Object userShipperPo= ajaxResult.get("data");
JSONObject jsonObject = new JSONObject((Map) userShipperPo); JSONObject jsonObject = new JSONObject((Map) userShipperPo);
if(org.apache.commons.lang.StringUtils.isBlank(jsonObject.get("customerNcCode").toString())){ if(org.apache.commons.lang.StringUtils.isBlank(jsonObject.get("customerNcCode").toString())){
throw new ServiceException("请先维护客户编码"); throw new ServiceException("请先维护客户编码");
} }
Ysitem item=new Ysitem();
item.setSo_deptid("NG040104"); }*/
item.setPk_deptid("NG040104");
item.setPk_psndoc(userPo.getSalespersonNcCode());
item.setCustomer(jsonObject.get("customerNcCode").toString());
item.setObjtype("0");
item.setDirection("1");
item.setScomment(jsonObject.get("shipperEnterpriseName").toString());
item.setPk_currtype("CNY");
item.setPurchaseorder(tmsOrder.getGoodsNumber());
item.setTaxrate("0");
item.setQuantity_de("0");
item.setMoney_de(String.valueOf(tmsOrder.getDeliveryFreight()));
item.setMoney_bal(String.valueOf(tmsOrder.getDeliveryFreight()));
item.setNotax_de(String.valueOf(tmsOrder.getDeliveryFreight()));
item.setLocal_tax_de(String.valueOf(tmsOrder.getDeliveryFreight()));
item.setTax_de(String.valueOf(tmsOrder.getDeliveryFreight()));
item.setPrice(String.valueOf(tmsOrder.getDeliveryFreight()));
item.setTaxprice(String.valueOf(tmsOrder.getDeliveryFreight()));
item.setDef75("T10");
item.setInvoiceno("");
ysitemList.add(item);
}
} }
} }
@@ -489,7 +498,7 @@ public class ReconciliationImpl extends ServiceImpl<ReconciliationMapper, Reconc
billhead.setPk_org("NG0401"); billhead.setPk_org("NG0401");
billhead.setSett_org("NG0401"); billhead.setSett_org("NG0401");
billhead.setCreationtime(dateString); billhead.setCreationtime(dateString);
billhead.setCreator(userPo.getDocumentPreparerNcCode()); billhead.setCreator(makerCodeNc);
billhead.setPk_billtype("F0"); billhead.setPk_billtype("F0");
billhead.setPk_tradetype("D0"); billhead.setPk_tradetype("D0");
billhead.setBillclass("ys"); billhead.setBillclass("ys");
@@ -502,7 +511,7 @@ public class ReconciliationImpl extends ServiceImpl<ReconciliationMapper, Reconc
billhead.setDef59(""); billhead.setDef59("");
billhead.setSrc_syscode("0"); billhead.setSrc_syscode("0");
billhead.setBillstatus("0"); billhead.setBillstatus("0");
billhead.setBillmaker(userPo.getDocumentPreparerNcCode()); billhead.setBillmaker(makerCodeNc);
billhead.setPk_busitype(""); billhead.setPk_busitype("");
billhead.setBillyear(sdf1.format(date)); billhead.setBillyear(sdf1.format(date));
billhead.setBillperiod(sdf2.format(date)); billhead.setBillperiod(sdf2.format(date));
@@ -611,12 +620,7 @@ public class ReconciliationImpl extends ServiceImpl<ReconciliationMapper, Reconc
if(reconciliation.getCollectionState()!=2){ if(reconciliation.getCollectionState()!=2){
throw new ServiceException("该记录还未结算完成,不允许同步"); throw new ServiceException("该记录还未结算完成,不允许同步");
} }
/* if(org.apache.commons.lang.StringUtils.isBlank(userPo.getSalespersonNcCode())){
throw new ServiceException("请先维护业务员编码");
}
if(org.apache.commons.lang.StringUtils.isBlank(userPo.getDocumentPreparerNcCode())){
throw new ServiceException("请先维护制单员编码");
}*/
try { try {
Date date = reconciliation.getCreateTime(); Date date = reconciliation.getCreateTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -626,36 +630,50 @@ public class ReconciliationImpl extends ServiceImpl<ReconciliationMapper, Reconc
List<SKitem> ysitemList=new ArrayList<SKitem>(); List<SKitem> ysitemList=new ArrayList<SKitem>();
ReconciliationDTO reconciliationDTO=new ReconciliationDTO(); ReconciliationDTO reconciliationDTO=new ReconciliationDTO();
reconciliationDTO.setInnerNumber(reconciliation.getInnerNumber()); reconciliationDTO.setInnerNumber(reconciliation.getInnerNumber());
if(null==reconciliation.getSettlementPartyId()){
throw new ServiceException("没有结算方,请核对");
}
String makerCodeNc="";
R<List<TmsOrder>> result=wlhyServiceFeign.getOrderListByReconciliation(reconciliationDTO); R<List<TmsOrder>> result=wlhyServiceFeign.getOrderListByReconciliation(reconciliationDTO);
if(result.getCode()==200){ if(result.getCode()==200){
List<TmsOrder> list=result.getData(); List<TmsOrder> list=result.getData();
if(ObjectUtil.isNotNull(list)){ if(ObjectUtil.isNotNull(list)){
for(TmsOrder tmsOrder:list){ for(TmsOrder tmsOrder:list){
if(null==reconciliation.getSettlementPartyId()){ if (org.apache.commons.lang.StringUtils.isBlank(tmsOrder.getSalesmanCodeNc())) {
throw new ServiceException("没有结算方,请核对"); throw new ServiceException("请先维护业务员编码");
} }
AjaxResult ajaxResult=userServiceFeign.getShipperSummaryData(Long.valueOf(reconciliation.getSettlementPartyId())); if (org.apache.commons.lang.StringUtils.isBlank(tmsOrder.getMakerCodeNc())) {
throw new ServiceException("请先维护制单员编码");
}
if (org.apache.commons.lang.StringUtils.isBlank(tmsOrder.getCustomsCodeNc())) {
throw new ServiceException("请先维护制单员编码");
}
SKitem item=new SKitem();
item.setSo_deptid("NG040104");
item.setPk_deptid("NG040104");
item.setCheckdirection("ar");
item.setPk_psndoc(tmsOrder.getSalesmanCodeNc());
item.setCustomer(tmsOrder.getCustomsCodeNc());
item.setPurchaseorder(tmsOrder.getGoodsNumber());
item.setObjtype("0");
item.setDirection("1");
item.setScomment(tmsOrder.getAppointShipper());
item.setPk_currtype(tmsOrder.getSettlementCurrency());
item.setMoney_cr(String.valueOf(tmsOrder.getCollectedFreight()));
item.setMoney_bal(String.valueOf(tmsOrder.getCollectedFreight()));
ysitemList.add(item);
/* AjaxResult ajaxResult=userServiceFeign.getShipperSummaryData(Long.valueOf(reconciliation.getSettlementPartyId()));
if(ajaxResult.get("code").toString().equals("200")){ if(ajaxResult.get("code").toString().equals("200")){
Object userShipperPo= ajaxResult.get("data"); Object userShipperPo= ajaxResult.get("data");
JSONObject jsonObject = new JSONObject((Map) userShipperPo); JSONObject jsonObject = new JSONObject((Map) userShipperPo);
if(org.apache.commons.lang.StringUtils.isBlank(jsonObject.get("customerNcCode").toString())){ if(org.apache.commons.lang.StringUtils.isBlank(jsonObject.get("customerNcCode").toString())){
throw new ServiceException("请先维护客户编码"); throw new ServiceException("请先维护客户编码");
} }
SKitem item=new SKitem();
item.setSo_deptid("NG040104");
item.setPk_deptid("NG040104"); }*/
item.setCheckdirection("ar");
item.setPk_psndoc(userPo.getSalespersonNcCode());
item.setCustomer(jsonObject.get("customerNcCode").toString());
item.setPurchaseorder(tmsOrder.getGoodsNumber());
item.setObjtype("0");
item.setDirection("1");
item.setScomment(jsonObject.get("shipperEnterpriseName").toString());
item.setPk_currtype("CNY");
item.setMoney_cr(String.valueOf(tmsOrder.getCollectedFreight()));
item.setMoney_bal(String.valueOf(tmsOrder.getCollectedFreight()));
ysitemList.add(item);
}
} }
} }
@@ -668,7 +686,7 @@ public class ReconciliationImpl extends ServiceImpl<ReconciliationMapper, Reconc
billhead.setSett_org("NG0401"); billhead.setSett_org("NG0401");
billhead.setCreationtime(dateString); billhead.setCreationtime(dateString);
billhead.setPk_billtype("F2"); billhead.setPk_billtype("F2");
billhead.setCreator(userPo.getDocumentPreparerNcCode()); billhead.setCreator(makerCodeNc);
billhead.setPk_tradetype("D2"); billhead.setPk_tradetype("D2");
billhead.setBillclass("sk"); billhead.setBillclass("sk");
billhead.setBilldate(dateString); billhead.setBilldate(dateString);
@@ -677,7 +695,7 @@ public class ReconciliationImpl extends ServiceImpl<ReconciliationMapper, Reconc
billhead.setDef59(""); billhead.setDef59("");
billhead.setSrc_syscode("0"); billhead.setSrc_syscode("0");
billhead.setBillstatus("0"); billhead.setBillstatus("0");
billhead.setBillmaker(userPo.getDocumentPreparerNcCode()); billhead.setBillmaker(makerCodeNc);
billhead.setPk_busitype(""); billhead.setPk_busitype("");
billhead.setBillyear(sdf1.format(date)); billhead.setBillyear(sdf1.format(date));
billhead.setBillperiod(sdf2.format(date)); billhead.setBillperiod(sdf2.format(date));
@@ -7,6 +7,8 @@ import com.linke.finance.interfaces.dto.approvalDocument.DingDingHuiDiaoDTO;
import com.linke.finance.interfaces.vo.ApprovalStatsVO; import com.linke.finance.interfaces.vo.ApprovalStatsVO;
import com.linke.finance.until.DingCallbackCrypto; import com.linke.finance.until.DingCallbackCrypto;
import com.mhd.common.core.domain.entity.R; import com.mhd.common.core.domain.entity.R;
import java.rmi.ServerException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -56,8 +58,17 @@ public class ApprovalDocumentApi extends BaseController{
//转换实体 //转换实体
ApprovalDocumentDO approvalDocumentDO = approvalDocumentAssembler.toDO(approvalDocumentDTO); ApprovalDocumentDO approvalDocumentDO = approvalDocumentAssembler.toDO(approvalDocumentDTO);
startPage(); startPage();
List<ApprovalDocumentPO> list = approvalDocumentApplicationService.queryList(approvalDocumentDO); List<ApprovalDocumentPO> list = null;
return getDataTable(list); try {
list = approvalDocumentApplicationService.queryList(approvalDocumentDO);
return getDataTable(list);
} catch (ServerException e) {
e.printStackTrace();
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
}
} }
/** /**
+8 -13
View File
@@ -18,25 +18,20 @@ spring:
cloud: cloud:
nacos: nacos:
discovery: discovery:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
# server-addr: 116.204.23.92:8848 #线上正式环境
# server-addr: 10.102.192.105:6848
config: config:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# server-addr: 116.204.23.92:8848 # server-addr: 116.204.23.92:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境
# server-addr: 10.102.192.105:6848
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yml #默认properties file-extension: yml #默认properties
# 共享配置 # 共享配置
shared-configs: shared-configs:
- application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
redisson:
config:
singleServerConfig:
address: redis://116.204.89.187:4399
connectTimeout: 10000 # 连接超时时间
timeout: 10000 # 命令执行超时时间
retryAttempts: 3 # 重试次数
retryInterval: 1500 # 重试间隔
+11
View File
@@ -129,6 +129,17 @@
<groupId>com.mhd</groupId> <groupId>com.mhd</groupId>
<artifactId>mhd-common-log</artifactId> <artifactId>mhd-common-log</artifactId>
</dependency> </dependency>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.4.3</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.8.1</version>
<scope>compile</scope>
</dependency>
</dependencies> </dependencies>
<build> <build>
@@ -43,9 +43,12 @@ import com.mhd.common.core.annotation.fieldsetvalue.NeedSetValueField;
import com.mhd.common.security.utils.SecurityUtils; import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser; import com.mhd.system.api.model.LoginUser;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import minio.MinIoUploadService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.File; import java.io.File;
@@ -95,6 +98,8 @@ public class MenuApplicationService {
private SpecialServiceFeign logisticsServiceFeign; private SpecialServiceFeign logisticsServiceFeign;
@Resource @Resource
private MenuUtils menuUtils; private MenuUtils menuUtils;
@Autowired(required = false)
private MinIoUploadService minIoUploadService;
/** /**
@@ -272,6 +277,19 @@ public class MenuApplicationService {
return ossService.uploadOss(file); return ossService.uploadOss(file);
} }
/**
* 上传文件到oss
*
* @param file 文件
* @return 文件路径
*/
public String uploadMinio(MultipartFile file)
{
return minIoUploadService.uploadFileToMinIo(file);
}
/** /**
* 根据组织id查询菜单集合 * 根据组织id查询菜单集合
* *
@@ -162,7 +162,8 @@ public class MenuApi extends BaseController {
} }
} }
return AjaxResult.success(menuApplicationService.uploadOss(fileUpload)); //return AjaxResult.success(menuApplicationService.uploadOss(fileUpload));
return AjaxResult.success(menuApplicationService.uploadMinio(file));
} }
@PostMapping("/uploadFeign") @PostMapping("/uploadFeign")
+8 -4
View File
@@ -18,13 +18,17 @@ spring:
cloud: cloud:
nacos: nacos:
discovery: discovery:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境
# server-addr: 10.102.192.105:6848
config: config:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境
# server-addr: 10.102.192.105:6848
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yml #默认properties file-extension: yml #默认properties
# 共享配置 # 共享配置
@@ -18,13 +18,17 @@ spring:
cloud: cloud:
nacos: nacos:
discovery: discovery:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境
# server-addr: 10.102.192.105:6848
config: config:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置 容器名+端口号 # 线上测试环境配置 容器名+端口号
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境
# server-addr: 10.102.192.105:6848
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yml #默认properties file-extension: yml #默认properties
# 共享配置 # 共享配置
+1
View File
@@ -102,6 +102,7 @@
<artifactId>spring-cloud-starter-sleuth</artifactId> <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId> <artifactId>spring-cloud-starter-zipkin</artifactId>
@@ -18,15 +18,19 @@ spring:
cloud: cloud:
nacos: nacos:
discovery: discovery:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置使用ip+端口号 # 线上测试环境配置使用ip+端口号
# server-addr: 10.33.0.129:6010r # server-addr: 10.33.0.129:6010r
# server-addr: 10.33.0.129:6010 server-addr: 10.33.0.129:6010
#线上正式环境
# server-addr: 10.102.192.105:6848
config: config:
server-addr: 127.0.0.1:8848 # server-addr: 127.0.0.1:8848
# 线上测试环境配置使用ip+端口号 # 线上测试环境配置使用ip+端口号
server-addr: 10.33.0.129:6010
# server-addr: 10.33.0.129:6010 # server-addr: 10.33.0.129:6010
# server-addr: 10.33.0.129:6010 #线上正式环境
# server-addr: 10.102.192.105:6848
group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置 group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使用默认分组可以不配置
file-extension: yml #默认properties file-extension: yml #默认properties
# 共享配置 # 共享配置