|
|
@@ -47,6 +47,8 @@ import org.springblade.los.business.sea.entity.Containers;
|
|
|
import org.springblade.los.business.sea.service.IContainersService;
|
|
|
import org.springblade.los.business.sea.entity.ContainersCommodity;
|
|
|
import org.springblade.los.business.sea.service.IContainersCommodityService;
|
|
|
+import org.springblade.los.finance.fee.entity.FeeCenter;
|
|
|
+import org.springblade.los.finance.fee.service.IFeeCenterService;
|
|
|
import org.springblade.system.entity.Dept;
|
|
|
import org.springblade.system.feign.ISysClient;
|
|
|
import org.springblade.system.user.feign.IUserClient;
|
|
|
@@ -87,6 +89,8 @@ public class MscZipImportImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
private final IBPackagesService bPackagesService;
|
|
|
private final IBCntrTypesService bCntrTypesService;
|
|
|
|
|
|
+ private final IFeeCenterService feeCenterService;
|
|
|
+
|
|
|
private final ISysClient sysClient;
|
|
|
private final IUserClient userClient;
|
|
|
private final IDeptUtils deptUtils;
|
|
|
@@ -1212,17 +1216,10 @@ public class MscZipImportImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
Object object = StringTools.handle(mhBill, "Bills");
|
|
|
Bills bills = JSONObject.parseObject(JSONObject.toJSONString(object), Bills.class);
|
|
|
|
|
|
- if (ObjectUtils.isNull(bills.getBillNo())) {
|
|
|
- BusinessBillNo businessBillNo = new BusinessBillNo();
|
|
|
- businessBillNo.setBusinessTypeId(businessType.getId());
|
|
|
- businessBillNo.setCode(bills.getBillNoFormat());
|
|
|
- R clientBillNo = businessBillNoService.getBillNoLos(businessBillNo);
|
|
|
- if (!clientBillNo.isSuccess()) {
|
|
|
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
- return R.fail(500, "生成订单编号失败");
|
|
|
- }
|
|
|
- bills.setBillNo((String) clientBillNo.getData());
|
|
|
- }
|
|
|
+ // 导入标志 0 未处理 200 成功 >=400 失败
|
|
|
+ bills.setIntFlag(0);
|
|
|
+ // 导入信息
|
|
|
+ bills.setStrFlag("");
|
|
|
|
|
|
if (ObjectUtils.isNull(bills.getId())) {
|
|
|
bills.setCreateTime(new Date());
|
|
|
@@ -1232,6 +1229,7 @@ public class MscZipImportImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
bills.setVersion("1");
|
|
|
|
|
|
this.save(bills);
|
|
|
+ bills.setIntFlag(200);
|
|
|
} else {
|
|
|
Bills dataSourceBill = baseMapper.selectOne(new LambdaQueryWrapper<Bills>().select(Bills::getId, Bills::getVersion).eq(Bills::getId, bills.getId()));
|
|
|
if (!Objects.equals(dataSourceBill.getVersion(), bills.getVersion())) {
|
|
|
@@ -1247,57 +1245,80 @@ public class MscZipImportImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
bills.setUpdateUserName(AuthUtil.getUserName());
|
|
|
|
|
|
// 查一下是否有生成账单的费用,有的话不允许更改
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- this.updateById(bills);
|
|
|
-
|
|
|
- bPreContainersService.remove(new LambdaQueryWrapper<PreContainers>()
|
|
|
- .eq(PreContainers::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(PreContainers::getPid, bills.getId())
|
|
|
- );
|
|
|
-
|
|
|
- bContainersService.remove(new LambdaQueryWrapper<Containers>()
|
|
|
- .eq(Containers::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Containers::getPid, bills.getId())
|
|
|
- );
|
|
|
-
|
|
|
- bContainersCommodityService.remove(new LambdaQueryWrapper<ContainersCommodity>()
|
|
|
- .eq(ContainersCommodity::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(ContainersCommodity::getPpId, bills.getId())
|
|
|
- );
|
|
|
+ int feeCount = feeCenterService.count(new LambdaQueryWrapper<FeeCenter>()
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FeeCenter::getPid, bills.getId())
|
|
|
+ .eq(FeeCenter::getAccStatus, 1L)
|
|
|
+ .gt(FeeCenter::getAccBillId, 0L));
|
|
|
+
|
|
|
+ if(feeCount>0){
|
|
|
+ bills.setIntFlag(400);
|
|
|
+ bills.setStrFlag("订舱号 " + bills.getBookingNo() + " 费用已经生产账单,不可导入!");
|
|
|
+ }else {
|
|
|
+ this.updateById(bills);
|
|
|
+ bills.setIntFlag(200);
|
|
|
+
|
|
|
+ bPreContainersService.remove(new LambdaQueryWrapper<PreContainers>()
|
|
|
+ .eq(PreContainers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(PreContainers::getPid, bills.getId())
|
|
|
+ );
|
|
|
+
|
|
|
+ bContainersService.remove(new LambdaQueryWrapper<Containers>()
|
|
|
+ .eq(Containers::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Containers::getPid, bills.getId())
|
|
|
+ );
|
|
|
+
|
|
|
+ bContainersCommodityService.remove(new LambdaQueryWrapper<ContainersCommodity>()
|
|
|
+ .eq(ContainersCommodity::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(ContainersCommodity::getPpId, bills.getId())
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
- SeaBillsDetail seaBillsDetail = bills.getDetail();
|
|
|
- if(ObjectUtils.isNotNull(seaBillsDetail)) {
|
|
|
- seaBillsDetail.setPid(bills.getId());
|
|
|
- bSeaBillsDetailService.saveOrUpdate(seaBillsDetail);
|
|
|
- }
|
|
|
+ if(bills.getIntFlag()==200){
|
|
|
+ if (ObjectUtils.isNull(bills.getBillNo())) {
|
|
|
+ BusinessBillNo businessBillNo = new BusinessBillNo();
|
|
|
+ businessBillNo.setBusinessTypeId(businessType.getId());
|
|
|
+ businessBillNo.setCode(bills.getBillNoFormat());
|
|
|
+ R clientBillNo = businessBillNoService.getBillNoLos(businessBillNo);
|
|
|
+ if (!clientBillNo.isSuccess()) {
|
|
|
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
|
|
+ return R.fail(500, "生成订单编号失败");
|
|
|
+ }
|
|
|
+ bills.setBillNo((String) clientBillNo.getData());
|
|
|
+ }
|
|
|
|
|
|
- List<PreContainers> preContainers = bills.getPreContainersList();
|
|
|
- if(ObjectUtils.isNotNull(preContainers)) {
|
|
|
- for (PreContainers preContainer : preContainers) {
|
|
|
- preContainer.setPid(bills.getId());
|
|
|
+ SeaBillsDetail seaBillsDetail = bills.getDetail();
|
|
|
+ if (ObjectUtils.isNotNull(seaBillsDetail)) {
|
|
|
+ seaBillsDetail.setPid(bills.getId());
|
|
|
+ bSeaBillsDetailService.saveOrUpdate(seaBillsDetail);
|
|
|
}
|
|
|
- }
|
|
|
- bPreContainersService.saveOrUpdateBatch(preContainers);
|
|
|
|
|
|
- List<Containers> containers = bills.getContainersList();
|
|
|
- if(ObjectUtils.isNotNull(containers)) {
|
|
|
- for (Containers container : containers) {
|
|
|
- container.setPid(bills.getId());
|
|
|
+ List<PreContainers> preContainers = bills.getPreContainersList();
|
|
|
+ if (ObjectUtils.isNotNull(preContainers)) {
|
|
|
+ for (PreContainers preContainer : preContainers) {
|
|
|
+ preContainer.setPid(bills.getId());
|
|
|
+ }
|
|
|
}
|
|
|
+ bPreContainersService.saveOrUpdateBatch(preContainers);
|
|
|
|
|
|
- bContainersService.saveOrUpdateBatch(containers);
|
|
|
+ List<Containers> containers = bills.getContainersList();
|
|
|
+ if (ObjectUtils.isNotNull(containers)) {
|
|
|
+ for (Containers container : containers) {
|
|
|
+ container.setPid(bills.getId());
|
|
|
+ }
|
|
|
|
|
|
- for (Containers container : containers) {
|
|
|
- List<ContainersCommodity> cntrCommoditys = container.getContainersCommodityList();
|
|
|
- if(ObjectUtils.isNotNull(cntrCommoditys)) {
|
|
|
- for (ContainersCommodity cntrCommodity : cntrCommoditys) {
|
|
|
- cntrCommodity.setPpId(bills.getId());
|
|
|
- cntrCommodity.setPid(container.getId());
|
|
|
+ bContainersService.saveOrUpdateBatch(containers);
|
|
|
+
|
|
|
+ for (Containers container : containers) {
|
|
|
+ List<ContainersCommodity> cntrCommoditys = container.getContainersCommodityList();
|
|
|
+ if (ObjectUtils.isNotNull(cntrCommoditys)) {
|
|
|
+ for (ContainersCommodity cntrCommodity : cntrCommoditys) {
|
|
|
+ cntrCommodity.setPpId(bills.getId());
|
|
|
+ cntrCommodity.setPid(container.getId());
|
|
|
+ }
|
|
|
+ bContainersCommodityService.saveOrUpdateBatch(cntrCommoditys);
|
|
|
}
|
|
|
- bContainersCommodityService.saveOrUpdateBatch(cntrCommoditys);
|
|
|
}
|
|
|
}
|
|
|
}
|