|
|
@@ -4,7 +4,10 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.*;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.trade.purchase.agreement.entity.Agreement;
|
|
|
@@ -60,11 +63,7 @@ import org.springblade.system.user.feign.IUserClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
|
|
-import org.springframework.web.context.request.RequestContextHolder;
|
|
|
-import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
-import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
import java.io.File;
|
|
|
import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
|
@@ -1107,7 +1106,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
throw new Error("生成系统编号失败");
|
|
|
}
|
|
|
- if (OrderTypeEnum.WAREHOUSING.getType().equals(submitDto.getBillType())){
|
|
|
+ if (OrderTypeEnum.WAREHOUSING.getType().equals(submitDto.getBillType())) {
|
|
|
submitDto.setOrderNo(billNo.getData().toString());
|
|
|
submitDto.setOrgOrderNo(billNo.getData().toString());
|
|
|
}
|
|
|
@@ -1123,7 +1122,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
BigDecimal balanceMoney = new BigDecimal(0);
|
|
|
if (ObjectUtils.isNotNull(orderItemsList)) {
|
|
|
for (OrderItems orderItems : orderItemsList) {
|
|
|
- if (OrderTypeEnum.WAREHOUSING.getType().equals(submitDto.getBillType())){
|
|
|
+ if (OrderTypeEnum.WAREHOUSING.getType().equals(submitDto.getBillType())) {
|
|
|
LambdaQueryWrapper<OrderItems> orderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
orderItemsLambdaQueryWrapper
|
|
|
.eq(OrderItems::getGoodType, 0)
|
|
|
@@ -1131,8 +1130,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
.eq(OrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(OrderItems::getIsDeleted, 0);
|
|
|
List<OrderItems> orderItemsBillNo = orderItemsMapper.selectList(orderItemsLambdaQueryWrapper);
|
|
|
- if (ObjectUtils.isNull(orderItemsBillNo)){
|
|
|
- throw new Error("捆包号:"+orderItems.getBillNo()+"不允许重复");
|
|
|
+ if (ObjectUtils.isNotNull(orderItemsBillNo)) {
|
|
|
+ throw new Error("捆包号:" + orderItems.getBillNo() + "不允许重复");
|
|
|
}
|
|
|
}
|
|
|
orderItems.setPid(submitDto.getId());
|
|
|
@@ -1176,28 +1175,32 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
BigDecimal balanceMoney = new BigDecimal(0);
|
|
|
if (ObjectUtils.isNotNull(orderItemsList)) {
|
|
|
for (OrderItems orderItems : orderItemsList) {
|
|
|
- if (OrderTypeEnum.WAREHOUSING.getType().equals(submitDto.getBillType())){
|
|
|
+ List<OrderItems> orderItemsBillNo = new ArrayList<>();
|
|
|
+ if (OrderTypeEnum.WAREHOUSING.getType().equals(submitDto.getBillType())) {
|
|
|
LambdaQueryWrapper<OrderItems> orderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
orderItemsLambdaQueryWrapper
|
|
|
.eq(OrderItems::getGoodType, 0)
|
|
|
.eq(OrderItems::getBillNo, orderItems.getBillNo())
|
|
|
.eq(OrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(OrderItems::getIsDeleted, 0);
|
|
|
- List<OrderItems> orderItemsBillNo = orderItemsMapper.selectList(orderItemsLambdaQueryWrapper);
|
|
|
- if (ObjectUtils.isNull(orderItemsBillNo)){
|
|
|
- throw new Error("捆包号:"+orderItems.getBillNo()+"不允许重复");
|
|
|
- }
|
|
|
+ orderItemsBillNo = orderItemsMapper.selectList(orderItemsLambdaQueryWrapper);
|
|
|
}
|
|
|
orderItems.setPid(submitDto.getId());
|
|
|
orderItems.setTenantId(AuthUtil.getTenantId());
|
|
|
orderItems.setBalanceNumber(orderItems.getStorageAmount());//结余量
|
|
|
orderItems.setBalanceMoney(orderItems.getPurchaseQuantity());//结余金额
|
|
|
if (ObjectUtils.isNotNull(orderItems.getId())) {
|
|
|
+ if (orderItemsBillNo.size() > 1) {
|
|
|
+ throw new Error("捆包号:" + orderItems.getBillNo() + "不允许重复");
|
|
|
+ }
|
|
|
orderItems.setUpdateTime(new Date());
|
|
|
orderItems.setUpdateUser(AuthUtil.getUserId());
|
|
|
orderItems.setUpdateUserName(AuthUtil.getUserName());
|
|
|
orderItemsMapper.updateById(orderItems);
|
|
|
} else {
|
|
|
+ if (orderItemsBillNo.size() > 0) {
|
|
|
+ throw new Error("捆包号:" + orderItems.getBillNo() + "不允许重复");
|
|
|
+ }
|
|
|
orderItems.setCreateTime(new Date());
|
|
|
orderItems.setCreateUser(AuthUtil.getUserId());
|
|
|
orderItems.setCreateUserName(AuthUtil.getUserName());
|
|
|
@@ -1246,7 +1249,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
submitDto.setUpdateTime(new Date());
|
|
|
baseMapper.updateById(submitDto);
|
|
|
} else {
|
|
|
- if (OrderTypeEnum.WAREHOUSING.getType().equals(submitDto.getBillType())){
|
|
|
+ if (OrderTypeEnum.WAREHOUSING.getType().equals(submitDto.getBillType())) {
|
|
|
submitDto.setOrderNo(billNo.getData().toString());
|
|
|
submitDto.setOrgOrderNo(billNo.getData().toString());
|
|
|
}
|
|
|
@@ -1259,16 +1262,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
BigDecimal balanceMoney = new BigDecimal(0);
|
|
|
if (ObjectUtils.isNotNull(orderItemsList)) {
|
|
|
for (OrderItems orderItems : orderItemsList) {
|
|
|
- if (OrderTypeEnum.WAREHOUSING.getType().equals(submitDto.getBillType())){
|
|
|
+ List<OrderItems> orderItemsBillNo = new ArrayList<>();
|
|
|
+ if (OrderTypeEnum.WAREHOUSING.getType().equals(submitDto.getBillType())) {
|
|
|
LambdaQueryWrapper<OrderItems> orderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
orderItemsLambdaQueryWrapper
|
|
|
.eq(OrderItems::getGoodType, 0)
|
|
|
.eq(OrderItems::getBillNo, orderItems.getBillNo())
|
|
|
.eq(OrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(OrderItems::getIsDeleted, 0);
|
|
|
- List<OrderItems> orderItemsBillNo = orderItemsMapper.selectList(orderItemsLambdaQueryWrapper);
|
|
|
- if (ObjectUtils.isNull(orderItemsBillNo)){
|
|
|
- throw new Error("捆包号:"+orderItems.getBillNo()+"不允许重复");
|
|
|
+ orderItemsBillNo = orderItemsMapper.selectList(orderItemsLambdaQueryWrapper);
|
|
|
+ if (orderItemsBillNo.size() > 1) {
|
|
|
+ throw new Error("捆包号:" + orderItems.getBillNo() + "不允许重复");
|
|
|
}
|
|
|
}
|
|
|
orderItems.setPid(submitDto.getId());
|
|
|
@@ -1276,11 +1280,17 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderItems.setBalanceNumber(orderItems.getStorageAmount());//结余量
|
|
|
orderItems.setBalanceMoney(orderItems.getPurchaseQuantity());//结余金额
|
|
|
if (ObjectUtils.isNotNull(orderItems.getId())) {
|
|
|
+ if (orderItemsBillNo.size() > 1) {
|
|
|
+ throw new Error("捆包号:" + orderItems.getBillNo() + "不允许重复");
|
|
|
+ }
|
|
|
orderItems.setUpdateTime(new Date());
|
|
|
orderItems.setUpdateUser(AuthUtil.getUserId());
|
|
|
orderItems.setUpdateUserName(AuthUtil.getUserName());
|
|
|
orderItemsMapper.updateById(orderItems);
|
|
|
} else {
|
|
|
+ if (orderItemsBillNo.size() > 0) {
|
|
|
+ throw new Error("捆包号:" + orderItems.getBillNo() + "不允许重复");
|
|
|
+ }
|
|
|
orderItems.setCreateTime(new Date());
|
|
|
orderItems.setCreateUser(AuthUtil.getUserId());
|
|
|
orderItems.setCreateUserName(AuthUtil.getUserName());
|
|
|
@@ -1312,7 +1322,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
- public void checkWarehousing(Order order) {
|
|
|
+ public void checkWarehousing(OrderSubmitDto order) {
|
|
|
Order salesOrder = baseMapper.selectById(order.getId());
|
|
|
if (order.getCheckFlag() != 3 && salesOrder.getStatus() != 0) {
|
|
|
throw new SecurityException("订单已开启审核,请勿重复提交");
|
|
|
@@ -1388,19 +1398,19 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
try {
|
|
|
File packageFile = new File("/home/minio/file/673511-bladex/upload");
|
|
|
|
|
|
- if (!packageFile.getParentFile().exists()){
|
|
|
+ if (!packageFile.getParentFile().exists()) {
|
|
|
boolean a = packageFile.mkdirs();
|
|
|
- if (a){
|
|
|
+ if (a) {
|
|
|
System.out.println("文件夹创建成功");
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
System.out.println("文件夹创建失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- File oneFile = new File(packageFile,item.getBillNo() + "捆包号.png");
|
|
|
+ File oneFile = new File(packageFile, item.getBillNo() + "捆包号.png");
|
|
|
oneFile.createNewFile();
|
|
|
|
|
|
- File qRCodeFile = new File(packageFile,item.getBillNo() + "货物明细.png");
|
|
|
+ File qRCodeFile = new File(packageFile, item.getBillNo() + "货物明细.png");
|
|
|
qRCodeFile.createNewFile();
|
|
|
|
|
|
String oneCode = BarCodeTest.generateCode(oneFile, item.getBillNo(), 500, 250);
|
|
|
@@ -1412,7 +1422,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
System.out.println(qRCode);
|
|
|
item.setQrCode(qRCode);
|
|
|
orderItemsMapper.updateById(item);
|
|
|
- }catch (IOException e){
|
|
|
+ } catch (IOException e) {
|
|
|
throw new SecurityException("生成码失败");
|
|
|
}
|
|
|
|
|
|
@@ -1440,9 +1450,23 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
if (!financeProcess.isSuccess()) {
|
|
|
throw new SecurityException("操作失败,请联系管理员");
|
|
|
}
|
|
|
+ order.setOrderNo(salesOrder.getOrderNo());
|
|
|
+ order.setBusinesDate(salesOrder.getBusinesDate());
|
|
|
+ order.setCorpId(salesOrder.getCorpId());
|
|
|
+ order.setBelongToCorpId(salesOrder.getBelongToCorpId());
|
|
|
+ order.setTradeType(salesOrder.getTradeType());
|
|
|
+ order.setThisUsedProfit(salesOrder.getThisUsedProfit());
|
|
|
+ order.setPurchaserId(salesOrder.getPurchaserId());
|
|
|
+ order.setStorageId(salesOrder.getStorageId());
|
|
|
+ order.setOrgOrderNo(order.getOrgOrderNo());
|
|
|
+ order.setOrderRemark(salesOrder.getOrderRemark());
|
|
|
+ order.setStorageQuantity(salesOrder.getStorageQuantity());
|
|
|
//出库生成仓储费
|
|
|
if ("CK".equals(salesOrder.getBillType())) {
|
|
|
- this.paymentApply(salesOrder, "收费", OrderTypeEnum.STORAGE_FEE.getType());
|
|
|
+ this.paymentApply(order, "收费", OrderTypeEnum.STORAGE_FEE.getType());
|
|
|
+ this.paymentApply(order, "收费", "出库");
|
|
|
+ }else if ("RK".equals(salesOrder.getBillType())){
|
|
|
+ this.paymentApply(order, "付费", "入库");
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -1575,7 +1599,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
* @param itemType 付款类型: 采购 销售 收货 发货
|
|
|
*/
|
|
|
@Transactional
|
|
|
- public void paymentApply(Order order, String billType, String itemType) {
|
|
|
+ public void paymentApply(OrderSubmitDto order, String billType, String itemType) {
|
|
|
//获取所属公司中文名
|
|
|
if (order.getBelongToCorpId() != null) {
|
|
|
R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(order.getBelongToCorpId());
|
|
|
@@ -1629,15 +1653,77 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
List<OrderFees> orderFeesList = orderFeesService.list(orderFeesLambdaQueryWrapper);
|
|
|
if (CollectionUtils.isNotEmpty(orderFeesList)) {
|
|
|
amount = amount.add(orderFeesList.stream().map(OrderFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ if (order.getThisUsedProfit() != null) {
|
|
|
+ amount = amount.subtract(order.getThisUsedProfit());
|
|
|
+ }
|
|
|
+ if (quantity.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ price = amount.divide(quantity, 5, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ }
|
|
|
+ items.setItemType(itemType);
|
|
|
+ items.setPrice(price);
|
|
|
+ //账单数据
|
|
|
+ items.setAmount(amount);
|
|
|
+ items.setQuantity(quantity);
|
|
|
+ items.setSrcOrderno(order.getOrgOrderNo());
|
|
|
+ items.setCorpId(order.getPurchaserId());
|
|
|
+ items.setSrcParentId(order.getId());
|
|
|
+ items.setCurrency("CNY");
|
|
|
+ items.setExchangeRate(new BigDecimal(1));
|
|
|
+ items.setTaxRate(BigDecimal.ZERO);
|
|
|
+ items.setSrcType(1);
|
|
|
+ items.setTradeType(order.getTradeType());
|
|
|
+ items.setUnit("条");
|
|
|
+ items.setRemarks(order.getOrderRemark());
|
|
|
+ //获取费用id
|
|
|
+ R<FeesDesc> fees = feesDescClient.getFeesByName("货款");
|
|
|
+ if (fees.isSuccess() && fees.getData() != null) {
|
|
|
+ items.setCostType(fees.getData().getId().toString());
|
|
|
+ }
|
|
|
+ itemsList.add(items);
|
|
|
+ applyDTO.setItemsList(itemsList);
|
|
|
+ if (CollectionUtils.isNotEmpty(itemsList)) {
|
|
|
+ //生成账单
|
|
|
+ R paymentApply = financeClient.paymentApply(applyDTO);
|
|
|
+ if (!paymentApply.isSuccess()) {
|
|
|
+ throw new RuntimeException(paymentApply.getMsg());
|
|
|
+ }
|
|
|
+ //给角色为财务的人发送消息
|
|
|
+ R<String> clientDeptIds = sysClient.getRoleIds(SecureUtil.getTenantId(), "财务");
|
|
|
+ if (clientDeptIds.isSuccess() && StringUtils.isNotBlank(clientDeptIds.getData())) {
|
|
|
+ R<List<User>> userList = userClient.listUserByRoleId(Long.valueOf(clientDeptIds.getData()));
|
|
|
+ if (userList.isSuccess() && CollectionUtils.isNotEmpty(userList.getData())) {
|
|
|
+ for (User datum : userList.getData()) {
|
|
|
+ //循环发送消息
|
|
|
+ Message sendMessage = new Message();
|
|
|
+ sendMessage.setParameter(String.valueOf(order.getId()));
|
|
|
+ sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
+ sendMessage.setUserId(AuthUtil.getUserId());
|
|
|
+ sendMessage.setToUserId(datum.getId());
|
|
|
+ sendMessage.setToUserName(datum.getName());
|
|
|
+ sendMessage.setMessageType(1);
|
|
|
+ sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
+ sendMessage.setCreateUser(AuthUtil.getUserId());
|
|
|
+ sendMessage.setCreateTime(new Date());
|
|
|
+ sendMessage.setUrl(order.getUrl());
|
|
|
+ sendMessage.setPageLabel(order.getPageLabel());
|
|
|
+ sendMessage.setPageStatus(order.getPageStatus());
|
|
|
+ sendMessage.setMessageBody(order.getBelongToCorpName() + " 您的客户:" + order.getCorpName() + "的订单 " + order.getSysNo() + "审核通过,请查看");
|
|
|
+ R save = messageClient.save(sendMessage);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //修改原数据表示已生成账单
|
|
|
+ //修改商品明细
|
|
|
+ orderItemsMapper.submitPay(order.getId());
|
|
|
+ //修改费用明细
|
|
|
+ orderFeesService.submitPay(order.getId());
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+
|
|
|
}
|
|
|
- if (order.getThisUsedProfit() != null) {
|
|
|
- amount = amount.subtract(order.getThisUsedProfit());
|
|
|
- }
|
|
|
- if (quantity.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
- price = amount.divide(quantity, 5, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP);
|
|
|
- }
|
|
|
- items.setItemType(itemType);
|
|
|
- items.setPrice(price);
|
|
|
} else {
|
|
|
items.setItemType("仓储费");
|
|
|
|
|
|
@@ -1667,14 +1753,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
//获取仓储费协议
|
|
|
LambdaQueryWrapper<Agreement> agreementLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
agreementLambdaQueryWrapper
|
|
|
- .eq(Agreement::getDc, "D")
|
|
|
- .eq(Agreement::getCorpId, order.getCorpId())
|
|
|
+ .eq(Agreement::getCorpId, order.getPurchaserId())
|
|
|
.eq(Agreement::getFeetypeId, "0")
|
|
|
- .eq(Agreement::getWarehouseId, order.getStorageId())
|
|
|
- .ge(Agreement::getEndDate, new Date())
|
|
|
- .eq(Agreement::getBillStatus, "T")
|
|
|
.eq(Agreement::getDelFlag, "0")
|
|
|
- .eq(Agreement::getTenantId, AuthUtil.getTenantId());
|
|
|
+ .eq(Agreement::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .apply("FIND_IN_SET("+order.getStorageId()+",warehouse_id)");
|
|
|
Agreement agreement = agreementService.getOne(agreementLambdaQueryWrapper);
|
|
|
if (agreement == null) {
|
|
|
throw new SecurityException("未找到仓储费协议");
|
|
|
@@ -1696,75 +1779,75 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
//判断实际存放天数是否大于本条结束天数
|
|
|
if (days >= agreementitems.getEnDays()) {
|
|
|
//本条收费天数乘以单价 = 所需收费金额
|
|
|
- amount = amount.add((new BigDecimal((agreementitems.getEnDays() - agreementitems.getFromDays()), MathContext.UNLIMITED)).multiply(agreementitems.getPrice(), MathContext.UNLIMITED));
|
|
|
+ amount = amount.add((new BigDecimal((agreementitems.getEnDays() - agreementitems.getFromDays()+1), MathContext.UNLIMITED)).multiply(agreementitems.getPrice(), MathContext.UNLIMITED).multiply(order.getStorageQuantity()));
|
|
|
//业务天数减去本条结束天数所得天数为下一条要收费天数
|
|
|
- date = date - agreementitems.getEnDays();
|
|
|
+ date = date - (agreementitems.getEnDays() - agreementitems.getFromDays()+1);
|
|
|
} else {
|
|
|
//业务天数乘以单价 = 剩余所需收费金额
|
|
|
- amount = amount.add((new BigDecimal(date)).multiply(agreementitems.getPrice(), MathContext.UNLIMITED));
|
|
|
+ amount = amount.add((new BigDecimal(date+1)).multiply(agreementitems.getPrice(), MathContext.UNLIMITED).multiply(order.getStorageQuantity()));
|
|
|
}
|
|
|
}
|
|
|
quantity = RKoOrder.getStorageQuantity();
|
|
|
- }
|
|
|
- //账单数据
|
|
|
- items.setAmount(amount);
|
|
|
- items.setQuantity(quantity);
|
|
|
- items.setSrcOrderno(order.getOrgOrderNo());
|
|
|
- items.setCorpId(order.getCorpId());
|
|
|
- items.setSrcParentId(order.getId());
|
|
|
- items.setCurrency("CNY");
|
|
|
- items.setExchangeRate(new BigDecimal(1));
|
|
|
- items.setTaxRate(BigDecimal.ZERO);
|
|
|
- items.setSrcType(1);
|
|
|
- items.setTradeType(order.getTradeType());
|
|
|
- items.setUnit("条");
|
|
|
- items.setRemarks(order.getOrderRemark());
|
|
|
- //获取费用id
|
|
|
- R<FeesDesc> fees = feesDescClient.getFeesByName("货款");
|
|
|
- if (fees.isSuccess() && fees.getData() != null) {
|
|
|
- items.setCostType(fees.getData().getId().toString());
|
|
|
- }
|
|
|
- itemsList.add(items);
|
|
|
- applyDTO.setItemsList(itemsList);
|
|
|
- if (CollectionUtils.isNotEmpty(itemsList)) {
|
|
|
- //生成账单
|
|
|
- R paymentApply = financeClient.paymentApply(applyDTO);
|
|
|
- if (!paymentApply.isSuccess()) {
|
|
|
- throw new RuntimeException(paymentApply.getMsg());
|
|
|
+ //账单数据
|
|
|
+ items.setAmount(amount);
|
|
|
+ items.setQuantity(quantity);
|
|
|
+ items.setSrcOrderno(order.getOrgOrderNo());
|
|
|
+ items.setCorpId(order.getPurchaserId());
|
|
|
+ items.setSrcParentId(order.getId());
|
|
|
+ items.setCurrency("CNY");
|
|
|
+ items.setExchangeRate(new BigDecimal(1));
|
|
|
+ items.setTaxRate(BigDecimal.ZERO);
|
|
|
+ items.setSrcType(1);
|
|
|
+ items.setTradeType(order.getTradeType());
|
|
|
+ items.setUnit("条");
|
|
|
+ items.setRemarks(order.getOrderRemark());
|
|
|
+ //获取费用id
|
|
|
+ R<FeesDesc> fees = feesDescClient.getFeesByName("货款");
|
|
|
+ if (fees.isSuccess() && fees.getData() != null) {
|
|
|
+ items.setCostType(fees.getData().getId().toString());
|
|
|
}
|
|
|
- //给角色为财务的人发送消息
|
|
|
- R<String> clientDeptIds = sysClient.getRoleIds(SecureUtil.getTenantId(), "财务");
|
|
|
- if (clientDeptIds.isSuccess() && StringUtils.isNotBlank(clientDeptIds.getData())) {
|
|
|
- R<List<User>> userList = userClient.listUserByRoleId(Long.valueOf(clientDeptIds.getData()));
|
|
|
- if (userList.isSuccess() && CollectionUtils.isNotEmpty(userList.getData())) {
|
|
|
- for (User datum : userList.getData()) {
|
|
|
- //循环发送消息
|
|
|
- Message sendMessage = new Message();
|
|
|
- sendMessage.setParameter(String.valueOf(order.getId()));
|
|
|
- sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
- sendMessage.setUserId(AuthUtil.getUserId());
|
|
|
- sendMessage.setToUserId(datum.getId());
|
|
|
- sendMessage.setToUserName(datum.getName());
|
|
|
- sendMessage.setMessageType(1);
|
|
|
- sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
- sendMessage.setCreateUser(AuthUtil.getUserId());
|
|
|
- sendMessage.setCreateTime(new Date());
|
|
|
- sendMessage.setUrl(order.getUrl());
|
|
|
- sendMessage.setPageLabel(order.getPageLabel());
|
|
|
- sendMessage.setPageStatus(order.getPageStatus());
|
|
|
- sendMessage.setMessageBody(order.getBelongToCorpName() + " 您的客户:" + order.getCorpName() + "的订单 " + order.getSysNo() + "审核通过,请查看");
|
|
|
- R save = messageClient.save(sendMessage);
|
|
|
- if (!save.isSuccess()) {
|
|
|
- throw new SecurityException("发送消息失败");
|
|
|
+ itemsList.add(items);
|
|
|
+ applyDTO.setItemsList(itemsList);
|
|
|
+ if (CollectionUtils.isNotEmpty(itemsList)) {
|
|
|
+ //生成账单
|
|
|
+ R paymentApply = financeClient.paymentApply(applyDTO);
|
|
|
+ if (!paymentApply.isSuccess()) {
|
|
|
+ throw new RuntimeException(paymentApply.getMsg());
|
|
|
+ }
|
|
|
+ //给角色为财务的人发送消息
|
|
|
+ R<String> clientDeptIds = sysClient.getRoleIds(SecureUtil.getTenantId(), "财务");
|
|
|
+ if (clientDeptIds.isSuccess() && StringUtils.isNotBlank(clientDeptIds.getData())) {
|
|
|
+ R<List<User>> userList = userClient.listUserByRoleId(Long.valueOf(clientDeptIds.getData()));
|
|
|
+ if (userList.isSuccess() && CollectionUtils.isNotEmpty(userList.getData())) {
|
|
|
+ for (User datum : userList.getData()) {
|
|
|
+ //循环发送消息
|
|
|
+ Message sendMessage = new Message();
|
|
|
+ sendMessage.setParameter(String.valueOf(order.getId()));
|
|
|
+ sendMessage.setUserName(AuthUtil.getUserName());
|
|
|
+ sendMessage.setUserId(AuthUtil.getUserId());
|
|
|
+ sendMessage.setToUserId(datum.getId());
|
|
|
+ sendMessage.setToUserName(datum.getName());
|
|
|
+ sendMessage.setMessageType(1);
|
|
|
+ sendMessage.setTenantId(AuthUtil.getTenantId());
|
|
|
+ sendMessage.setCreateUser(AuthUtil.getUserId());
|
|
|
+ sendMessage.setCreateTime(new Date());
|
|
|
+ sendMessage.setUrl(order.getUrl());
|
|
|
+ sendMessage.setPageLabel(order.getPageLabel());
|
|
|
+ sendMessage.setPageStatus(order.getPageStatus());
|
|
|
+ sendMessage.setMessageBody(order.getBelongToCorpName() + " 您的客户:" + order.getCorpName() + "的订单 " + order.getSysNo() + "审核通过,请查看");
|
|
|
+ R save = messageClient.save(sendMessage);
|
|
|
+ if (!save.isSuccess()) {
|
|
|
+ throw new SecurityException("发送消息失败");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ //修改原数据表示已生成账单
|
|
|
+ //修改商品明细
|
|
|
+ orderItemsMapper.submitPay(order.getId());
|
|
|
+ //修改费用明细
|
|
|
+ orderFeesService.submitPay(order.getId());
|
|
|
}
|
|
|
- //修改原数据表示已生成账单
|
|
|
- //修改商品明细
|
|
|
- orderItemsMapper.submitPay(order.getId());
|
|
|
- //修改费用明细
|
|
|
- orderFeesService.submitPay(order.getId());
|
|
|
}
|
|
|
}
|
|
|
|