|
|
@@ -22,7 +22,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import io.seata.spring.annotation.GlobalTransactional;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
@@ -46,7 +45,6 @@ import org.springblade.los.business.amends.entity.Amends;
|
|
|
import org.springblade.los.business.amends.mapper.AmendsMapper;
|
|
|
import org.springblade.los.business.files.entity.FilesCenter;
|
|
|
import org.springblade.los.business.files.service.IFilesCenterService;
|
|
|
-import org.springblade.los.business.sea.entity.Bills;
|
|
|
import org.springblade.los.check.dto.LosAuditProecessDTO;
|
|
|
import org.springblade.los.check.entity.LosAuditPathsActs;
|
|
|
import org.springblade.los.check.entity.LosAuditPathsLevels;
|
|
|
@@ -124,16 +122,16 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public R submit(AeaBills aeaBillss)throws Exception {
|
|
|
- Object object = StringTools.handle(aeaBillss,"AeaBills");
|
|
|
+ public R submit(AeaBills aeaBillss) throws Exception {
|
|
|
+ Object object = StringTools.handle(aeaBillss, "AeaBills");
|
|
|
AeaBills aeaBills = JSONObject.parseObject(JSONObject.toJSONString(object), AeaBills.class);
|
|
|
String deptId = "";
|
|
|
String deptName = "";
|
|
|
String branchId = deptUtils.getDeptPid() + "";
|
|
|
//获取部门ids对应中文名
|
|
|
- if (ObjectUtils.isNotNull(deptUtils.getDeptPid()+"")) {
|
|
|
- deptId = deptUtils.getDeptPid()+"";
|
|
|
- R<List<String>> res = sysClient.getDeptNames(deptUtils.getDeptPid()+"");
|
|
|
+ if (ObjectUtils.isNotNull(deptUtils.getDeptPid() + "")) {
|
|
|
+ deptId = deptUtils.getDeptPid() + "";
|
|
|
+ R<List<String>> res = sysClient.getDeptNames(deptUtils.getDeptPid() + "");
|
|
|
if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
|
|
|
deptName = String.join(",", res.getData());
|
|
|
}
|
|
|
@@ -142,7 +140,7 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
aeaBills.setMblno(aeaBills.getMblno().replaceAll(" ", ""));
|
|
|
}
|
|
|
List<AeaBills> count = baseMapper.selectList(new LambdaQueryWrapper<AeaBills>()
|
|
|
- .eq(AeaBills::getCreateDept, deptUtils.getDeptPid()+"")
|
|
|
+ .eq(AeaBills::getCreateDept, deptUtils.getDeptPid() + "")
|
|
|
.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(AeaBills::getIsDeleted, 0)
|
|
|
.eq(AeaBills::getMblno, aeaBills.getMblno()
|
|
|
@@ -193,7 +191,7 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
aeaBills.setCreateTime(new Date());
|
|
|
aeaBills.setCreateUser(AuthUtil.getUserId());
|
|
|
aeaBills.setCreateUserName(AuthUtil.getUserName());
|
|
|
- if (ObjectUtils.isNotNull(deptUtils.getDeptPid()+"")) {
|
|
|
+ if (ObjectUtils.isNotNull(deptUtils.getDeptPid() + "")) {
|
|
|
aeaBills.setBranchId(branchId);
|
|
|
aeaBills.setCreateDept(deptId);
|
|
|
aeaBills.setCreateDeptName(deptName);
|
|
|
@@ -216,7 +214,7 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
AeaBills details = baseMapper.selectById(aeaBills.getId());
|
|
|
if (!details.getVoyageNo().equals(aeaBills.getVoyageNo())) {
|
|
|
List<AeaBills> aeaBillsList = baseMapper.selectList(new LambdaQueryWrapper<AeaBills>()
|
|
|
- .eq(AeaBills::getCreateDept, deptUtils.getDeptPid()+"")
|
|
|
+ .eq(AeaBills::getCreateDept, deptUtils.getDeptPid() + "")
|
|
|
.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(AeaBills::getIsDeleted, 0)
|
|
|
.eq(AeaBills::getMblno, aeaBills.getMblno()));
|
|
|
@@ -305,6 +303,14 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
}
|
|
|
}
|
|
|
this.saveOrUpdate(aeaBills);
|
|
|
+ Date date;
|
|
|
+ if ("AE".equals(aeaBills.getBusinessType())) {
|
|
|
+ date = aeaBills.getEtd();
|
|
|
+ } else {
|
|
|
+ date = aeaBills.getEta();
|
|
|
+ }
|
|
|
+ BigDecimal exrateD = bCurrencyService.getCnyExrate(date, "USD", "D", "1");
|
|
|
+ BigDecimal exrateC = bCurrencyService.getCnyExrate(date, "USD", "C", "1");
|
|
|
/**-------------费用计算---------*/
|
|
|
BigDecimal amountDr = new BigDecimal("0.00");
|
|
|
BigDecimal amountCr = new BigDecimal("0.00");
|
|
|
@@ -354,7 +360,7 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
} else if ("CNY".equals(item.getCurCode())) {
|
|
|
amountCr = amountCr.add(item.getAmount());
|
|
|
} else {
|
|
|
- BigDecimal usd = bCurrencyService.converter(item.getCurCode(), item.getAmount(), item.getDc(),"1");
|
|
|
+ BigDecimal usd = exrateC.multiply(item.getAmount());
|
|
|
amountCrUsd = amountCrUsd.add(usd);
|
|
|
}
|
|
|
}
|
|
|
@@ -399,7 +405,7 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
} else if ("CNY".equals(item.getCurCode())) {
|
|
|
amountDr = amountDr.add(item.getAmount());
|
|
|
} else {
|
|
|
- BigDecimal usd = bCurrencyService.converter(item.getCurCode(), item.getAmount(), item.getDc(),"1");
|
|
|
+ BigDecimal usd = exrateD.multiply(item.getAmount());
|
|
|
amountDrUsd = amountDrUsd.add(usd);
|
|
|
}
|
|
|
}
|
|
|
@@ -411,7 +417,7 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
aeaBills.setAccountStatus(1);
|
|
|
} else if (0 == statusD && 1 == statusC) {
|
|
|
aeaBills.setAccountStatus(2);
|
|
|
- }else if (1 == statusD && 1 == statusC) {
|
|
|
+ } else if (1 == statusD && 1 == statusC) {
|
|
|
aeaBills.setAccountStatus(3);
|
|
|
}
|
|
|
BigDecimal quantity = aeaBills.getQuantity();
|
|
|
@@ -462,7 +468,7 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
} else if ("CNY".equals(item.getCurCode())) {
|
|
|
amountCrM = amountCrM.add(item.getAmount());
|
|
|
} else {
|
|
|
- BigDecimal usd = bCurrencyService.converter(item.getCurCode(), item.getAmount(), item.getDc(),"1");
|
|
|
+ BigDecimal usd = exrateC.multiply(item.getAmount());
|
|
|
amountCrUsdM = amountCrUsdM.add(usd);
|
|
|
}
|
|
|
} else {
|
|
|
@@ -471,7 +477,7 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
} else if ("CNY".equals(item.getCurCode())) {
|
|
|
amountDrM = amountDrM.add(item.getAmount());
|
|
|
} else {
|
|
|
- BigDecimal usd = bCurrencyService.converter(item.getCurCode(), item.getAmount(), item.getDc(),"1");
|
|
|
+ BigDecimal usd = exrateD.multiply(item.getAmount());
|
|
|
amountDrUsdM = amountDrUsdM.add(usd);
|
|
|
}
|
|
|
}
|
|
|
@@ -501,8 +507,10 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
//利润 = 收 - 付
|
|
|
amountProfitM = amountDrM.subtract(amountCrM);
|
|
|
amountProfitUsdM = amountDrUsdM.subtract(amountCrUsdM);
|
|
|
- amountDrLocM = amountDrLocM.add(bCurrencyService.converterCny("USD", amountDrUsdM, "D","1")).add(amountDrM);
|
|
|
- amountCrLocM = amountCrLocM.add(bCurrencyService.converterCny("USD", amountCrUsdM, "C","1")).add(amountCrM);
|
|
|
+ amountDrUsdM = exrateD.multiply(amountDrUsdM);
|
|
|
+ amountDrLocM = amountDrLocM.add(amountDrUsdM).add(amountDrM);
|
|
|
+ amountCrUsdM = exrateC.multiply(amountCrUsdM);
|
|
|
+ amountCrLocM = amountCrLocM.add(amountCrUsdM).add(amountCrM);
|
|
|
amountProfitLocM = amountDrLocM.subtract(amountCrLocM);
|
|
|
details.setAmountDr(amountDrM);
|
|
|
details.setAmountCr(amountCrM);
|
|
|
@@ -522,8 +530,10 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
//利润 = 收 - 付
|
|
|
amountProfit = amountDr.subtract(amountCr);
|
|
|
amountProfitUsd = amountDrUsd.subtract(amountCrUsd);
|
|
|
- amountDrLoc = amountDrLoc.add(bCurrencyService.converterCny("USD", amountDrUsd, "D","1")).add(amountDr);
|
|
|
- amountCrLoc = amountCrLoc.add(bCurrencyService.converterCny("USD", amountCrUsd, "C","1")).add(amountCr);
|
|
|
+ amountDrUsd = exrateD.multiply(amountDrUsd);
|
|
|
+ amountDrLoc = amountDrLoc.add(amountDrUsd).add(amountDr);
|
|
|
+ amountCrUsd = exrateC.multiply(amountCrUsd);
|
|
|
+ amountCrLoc = amountCrLoc.add(amountCrUsd).add(amountCr);
|
|
|
amountProfitLoc = amountDrLoc.subtract(amountCrLoc);
|
|
|
aeaBills.setAmountDr(amountDr);
|
|
|
aeaBills.setAmountCr(amountCr);
|
|
|
@@ -930,7 +940,7 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
|
|
|
auditProecessDTO.setGrossProfit(amountCnyD.subtract(amountCnyC));
|
|
|
auditProecessDTO.setGrossProfitUsd(amountUsdD.subtract(amountUsdC));
|
|
|
- auditProecessDTO.setGrossProfitLoc(auditProecessDTO.getGrossProfit().add(bCurrencyService.converterCny("USD", auditProecessDTO.getGrossProfitUsd(), "","1")));
|
|
|
+ auditProecessDTO.setGrossProfitLoc(auditProecessDTO.getGrossProfit().add(bCurrencyService.converterCny("USD", auditProecessDTO.getGrossProfitUsd(), "", "1")));
|
|
|
|
|
|
auditProecessDTO.setSalesCompanyName(declare.getCreateDeptName());
|
|
|
R financeProcess = auditProecessService.createFinanceProcess(auditProecessDTO);
|
|
|
@@ -1236,6 +1246,13 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
|
|
|
AeaBills copyBills = new AeaBills();
|
|
|
BeanUtil.copyProperties(detail, copyBills);
|
|
|
copyBills.setId(null);
|
|
|
+ copyBills.setOperatorId(AuthUtil.getUserId());
|
|
|
+ copyBills.setOperatorName(AuthUtil.getUserName());
|
|
|
+ Dept dept = deptUtils.getDept(AuthUtil.getDeptId());
|
|
|
+ if (dept != null) {
|
|
|
+ copyBills.setOperatorDept(dept.getId() + "");
|
|
|
+ copyBills.setOperatorDeptName(dept.getDeptName());
|
|
|
+ }
|
|
|
copyBills.setBillNo("");
|
|
|
copyBills.setMblno("");
|
|
|
copyBills.setHblno("");
|