Browse Source

1.OW拿放增加同步放箱号接口
2.海运进出口,订舱样本导入接口包装单位修改
3.账期-开账接口所属公司问题修改
4.托书请核消息空白问题修改
5.客户订舱提单确认接口逻辑修改
6.进场,出场导入删除文件
7.用户增加编码检索

纪新园 5 months ago
parent
commit
de6e27d8af
16 changed files with 343 additions and 33 deletions
  1. 5 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/basic/corps/entity/BCorpsAttn.java
  2. 5 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/excel/EmptyContainerAppearanceAnalysis.java
  3. 3 0
      blade-service/blade-los/src/main/java/org/springblade/los/basic/corps/service/impl/BCorpsAttnServiceImpl.java
  4. 9 0
      blade-service/blade-los/src/main/java/org/springblade/los/box/controller/TradingBoxController.java
  5. 2 0
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/ITradingBoxService.java
  6. 13 0
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/PutBoxServiceImpl.java
  7. 63 1
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/TradingBoxServiceImpl.java
  8. 2 7
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BookingCabinController.java
  9. 2 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/IBillsService.java
  10. 197 16
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java
  11. 30 4
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/TemplateImportServiceImpl.java
  12. 4 0
      blade-service/blade-los/src/main/java/org/springblade/los/check/service/impl/AuditProecessServiceImpl.java
  13. 2 3
      blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/service/impl/FinPeriodServiceImpl.java
  14. 2 2
      blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/service/impl/FinStlBillsServiceImpl.java
  15. 1 0
      blade-service/blade-los/src/main/java/org/springblade/los/ftp/service/impl/CyFtpServiceImpl.java
  16. 3 0
      blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml

+ 5 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/basic/corps/entity/BCorpsAttn.java

@@ -180,6 +180,11 @@ public class BCorpsAttn implements Serializable {
 	 */
 	@TableField(exist = false)
 	private String removeDuplicateFields;
+	/**
+	 * 客户简称
+	 */
+	@TableField(exist = false)
+	private String shortName;
 
 
 }

+ 5 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/excel/EmptyContainerAppearanceAnalysis.java

@@ -71,4 +71,9 @@ public class EmptyContainerAppearanceAnalysis {
 	 */
 	private String srcFile;
 
+	/**
+	 * 场站id
+	 */
+	private Long corpId;
+
 }

+ 3 - 0
blade-service/blade-los/src/main/java/org/springblade/los/basic/corps/service/impl/BCorpsAttnServiceImpl.java

@@ -58,6 +58,8 @@ public class BCorpsAttnServiceImpl extends ServiceImpl<CorpsAttnMapper, BCorpsAt
 	public R createUser(BCorpsAttn bCorpsAttn) {
 		if (ObjectUtils.isNull(bCorpsAttn.getAccountNumber())) {
 			throw new RuntimeException("请先维护登录账号");
+		}if (ObjectUtils.isNull(bCorpsAttn.getBranchId())) {
+			throw new RuntimeException("请先维护所属公司");
 		}
 		User user = null;
 		if (ObjectUtils.isNotNull(bCorpsAttn.getUserId())) {
@@ -84,6 +86,7 @@ public class BCorpsAttnServiceImpl extends ServiceImpl<CorpsAttnMapper, BCorpsAt
 		saveUser.setUserType(1);
 		saveUser.setPhone(bCorpsAttn.getTel());
 		saveUser.setDeptId(bCorpsAttn.getBranchId());
+		saveUser.setCode(bCorpsAttn.getShortName());
 		//获取注册用户类型
 		R<String> r = sysClient.getRoleIds(AuthUtil.getTenantId(), "客户");
 		if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {

+ 9 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/TradingBoxController.java

@@ -375,4 +375,13 @@ public class TradingBoxController extends BladeController {
 		return tradingBoxService.batchUpdatePodStation(tradingBox);
 	}
 
+
+	/**
+	 * 同步放箱号信息
+	 */
+	@PostMapping("/synchronousPutBoxData")
+	public R synchronousPutBoxData(@Valid @RequestBody TradingBox tradingBox) {
+		return tradingBoxService.synchronousPutBoxData(tradingBox);
+	}
+
 }

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/service/ITradingBoxService.java

@@ -71,4 +71,6 @@ public interface ITradingBoxService extends IService<TradingBox> {
 	R revokeCountOverdueFee(TradingBox tradingBox);
 
 	R batchUpdatePodStation(TradingBox tradingBox);
+
+	R synchronousPutBoxData(TradingBox tradingBox);
 }

+ 13 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/PutBoxServiceImpl.java

@@ -67,6 +67,7 @@ import org.springblade.los.excel.RouteCostProfitExcel;
 import org.springblade.los.excel.UpdatePodStationExcel;
 import org.springblade.los.finance.fee.entity.FeeCenter;
 import org.springblade.los.finance.fee.service.IFeeCenterService;
+import org.springblade.los.ftp.service.CyFtpService;
 import org.springblade.resource.feign.IOssClient;
 import org.springblade.system.feign.ISysClient;
 import org.springframework.stereotype.Service;
@@ -134,6 +135,8 @@ public class PutBoxServiceImpl extends ServiceImpl<PutBoxMapper, PutBox> impleme
 
 	private final IFeeCenterService feeCenterService;
 
+	private final CyFtpService cyFtpService;
+
 	@Override
 	public IPage<PutBoxVO> selectPutBoxPage(IPage<PutBoxVO> page, PutBoxVO putBox) {
 		return null;
@@ -1257,6 +1260,11 @@ public class PutBoxServiceImpl extends ServiceImpl<PutBoxMapper, PutBox> impleme
 			}
 		}
 		this.countOverdueFee(putBoxList, tradingBoxList, tradingBoxItems, containersListNew, putBoxItems);
+		List<String> fileName = excelList.stream().map(EmptyContainerAppearanceAnalysis::getSrcFile).distinct()
+			.filter(Objects::nonNull).collect(Collectors.toList());
+		if (!fileName.isEmpty()){
+			cyFtpService.ftpFilescopy(excelList.get(0).getCorpId(),fileName,"OUT");
+		}
 		return R.data("操作成功");
 	}
 
@@ -2998,6 +3006,11 @@ public class PutBoxServiceImpl extends ServiceImpl<PutBoxMapper, PutBox> impleme
 				}
 			}
 		}
+		List<String> fileName = excelList.stream().map(EmptyContainerAppearanceAnalysis::getSrcFile).distinct()
+			.filter(Objects::nonNull).collect(Collectors.toList());
+		if (!fileName.isEmpty()){
+			cyFtpService.ftpFilescopy(excelList.get(0).getCorpId(),fileName,"IN");
+		}
 		return R.data("操作成功");
 	}
 

+ 63 - 1
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/TradingBoxServiceImpl.java

@@ -214,7 +214,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 		} else if ("OW-HY".equals(tradingBox.getType())) {
 			billNoFormat = "OW-HY";
 			businessTypeCode = "OW-HY";
-		}else {
+		} else {
 			throw new RuntimeException("缺少必要参数类型");
 		}
 		BusinessType businessType = bBusinessTypeService.getOne(new LambdaQueryWrapper<BusinessType>()
@@ -2825,4 +2825,66 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 		return R.data(tradingBox);
 	}
 
+	@Override
+	public R synchronousPutBoxData(TradingBox tradingBox) {
+		Long id = tradingBox.getId();
+		baseMapper.updateById(tradingBox);
+		List<TradingBoxItem> tradingBoxItemList = tradingBoxItemService.list(new LambdaQueryWrapper<TradingBoxItem>()
+			.eq(TradingBoxItem::getTenantId, AuthUtil.getTenantId())
+			.eq(TradingBoxItem::getIsDeleted, 0)
+			.eq(TradingBoxItem::getPid, id));
+		if (!tradingBoxItemList.isEmpty()) {
+			for (TradingBoxItem item : tradingBoxItemList) {
+				item.setBoxEastId(tradingBox.getPurchaseCompanyId());
+				item.setBoxEastName(tradingBox.getPurchaseCompanyName());
+				item.setBoxCondition(tradingBox.getBoxCondition());
+			}
+			tradingBoxItemService.updateBatchById(tradingBoxItemList);
+		}
+		PutBox putBox = putBoxService.getOne(new LambdaQueryWrapper<PutBox>()
+			.eq(PutBox::getTenantId, AuthUtil.getTenantId())
+			.eq(PutBox::getIsDeleted, 0)
+			.eq(PutBox::getSrcId, id));
+		if (putBox == null) {
+			throw new RuntimeException("未查到放箱号数据");
+		}
+		putBox.setUpdateUser(AuthUtil.getUserId());
+		putBox.setUpdateTime(new Date());
+		putBox.setUpdateUserName(AuthUtil.getUserName());
+		putBox.setBoxEastId(tradingBox.getPurchaseCompanyId() + "");
+		putBox.setBoxEastName(tradingBox.getPurchaseCompanyName());
+		putBox.setBoxCondition(tradingBox.getBoxCondition());
+
+		putBox.setTotalNum(tradingBox.getBoxNumber());
+		putBox.setRemainingNum(putBox.getTotalNum() - putBox.getOccupyNum());
+		putBox.setNotSuitcaseNum(putBox.getTotalNum());
+
+		putBox.setEffectiveEndDate(tradingBox.getExpiryDate());
+		putBox.setEffectiveStartDate(tradingBox.getEffectiveDate());
+		putBox.setPolStationId(tradingBox.getPolStationId());
+		putBox.setPolStationCode(tradingBox.getPolStationCode());
+		putBox.setPolStationCname(tradingBox.getPolStationCname());
+		putBox.setPolStationEname(tradingBox.getPolStationEname());
+		putBox.setPodStationId(tradingBox.getPodStationId());
+		putBox.setPodStationCode(tradingBox.getPodStationCode());
+		putBox.setPodStationCname(tradingBox.getPodStationCname());
+		putBox.setPodStationEname(tradingBox.getPodStationEname());
+		putBox.setLoloPod(tradingBox.getLoloPod());
+		putBox.setLoloPol(tradingBox.getLoloPol());
+		putBoxService.updateById(putBox);
+		List<PutBoxItems> putBoxItemsList = putBoxItemsService.list(new LambdaQueryWrapper<PutBoxItems>()
+			.eq(PutBoxItems::getTenantId, AuthUtil.getTenantId())
+			.eq(PutBoxItems::getIsDeleted, 0)
+			.eq(PutBoxItems::getPid, putBox.getId()));
+		if (!putBoxItemsList.isEmpty()) {
+			for (PutBoxItems item : putBoxItemsList) {
+				item.setBoxEastId(tradingBox.getPurchaseCompanyId());
+				item.setBoxEastName(tradingBox.getPurchaseCompanyName());
+				item.setBoxCondition(tradingBox.getBoxCondition());
+			}
+			putBoxItemsService.updateBatchById(putBoxItemsList);
+		}
+		return R.data(tradingBox);
+	}
+
 }

+ 2 - 7
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BookingCabinController.java

@@ -229,13 +229,8 @@ public class BookingCabinController extends BladeController {
 	 * 提交确认
 	 */
 	@PostMapping("/submitConfirm")
-	public R submitConfirm(@Valid @RequestBody Bills bills) {
-		bills.setUpdateUserName(AuthUtil.getUserName());
-		bills.setUpdateUser(AuthUtil.getUserId());
-		bills.setUpdateTime(new Date());
-		bills.setConfirmStatus("1");
-		billsService.updateById(bills);
-		return R.data(bills);
+	public R submitConfirm(@Valid @RequestBody Bills bills) throws Exception {
+		return billsService.submitConfirm(bills);
 	}
 
 }

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/IBillsService.java

@@ -197,4 +197,6 @@ public interface IBillsService extends IService<Bills> {
 	Bills revokeLockOrder(Bills bills);
 
 	R billLadingConfirm(Bills bills);
+
+	R submitConfirm(Bills bills) throws Exception;
 }

+ 197 - 16
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java

@@ -1274,7 +1274,6 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				if (item.getStatus() > 0 && item.getStatus() < 3) {
 					throw new RuntimeException("分单提交请核,操作失败");
 				}
-				item.setMblno(bills.getMblno());
 				item.setEtd(bills.getEtd());
 				item.setEta(bills.getEta());
 				item.setActualEta(bills.getActualEta());
@@ -1283,6 +1282,33 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				item.setVesselCnName(bills.getVesselCnName());
 				item.setVesselEnName(bills.getVesselEnName());
 				item.setVoyageNo(bills.getVoyageNo());
+				item.setCarrierId(bills.getCarrierId());
+				item.setCarrierCnName(bills.getCarrierCnName());
+				item.setCarrierEnName(bills.getCarrierEnName());
+				item.setCarrierArgreementNo(bills.getCarrierArgreementNo());
+				item.setIssueDate(bills.getIssueDate());
+				item.setBranchId(bills.getBranchId());
+				item.setBranchName(bills.getBranchName());
+				item.setHpaymode(bills.getHpaymode());
+				item.setMpaymode(bills.getMpaymode());
+				item.setCyRemarks(bills.getCyRemarks());
+				item.setPolId(bills.getPolId());
+				item.setPolCode(bills.getPolCode());
+				item.setPolCnName(bills.getPolCnName());
+				item.setPolEnName(bills.getPolEnName());
+				item.setPodId(bills.getPodId());
+				item.setPodCode(bills.getPodCode());
+				item.setPodCnName(bills.getPodCnName());
+				item.setPodEnName(bills.getPodEnName());
+				item.setPlaceDeliveryId(bills.getPlaceDeliveryId());
+				item.setPlaceDeliveryName(bills.getPlaceDeliveryName());
+				item.setPlaceDeliveryCode(bills.getPlaceDeliveryCode());
+				item.setIssueAtId(bills.getIssueAtId());
+				item.setIssueAt(bills.getIssueAt());
+				item.setMblno(bills.getMblno());
+				item.setShippingAgencyId(bills.getShippingAgencyId());
+				item.setShippingAgencyCname(bills.getShippingAgencyCname());
+				item.setShippingAgencyEname(bills.getShippingAgencyEname());
 				item.setCyTrailerTime(bills.getCyTrailerTime());
 				item.setCyReturnTime(bills.getCyReturnTime());
 				item.setLineId(bills.getLineId());
@@ -1293,14 +1319,8 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				item.setBookingAgentCnName(bills.getBookingAgentCnName());
 				item.setBookingAgentEnName(bills.getBookingAgentEnName());
 				item.setBookingDate(bills.getBookingDate());
-				item.setShippingAgencyId(bills.getShippingAgencyId());
-				item.setShippingAgencyCname(bills.getShippingAgencyCname());
-				item.setShippingAgencyEname(bills.getShippingAgencyEname());
 				item.setMasterId(bills.getId());
 				item.setMasterBillNo(bills.getBillNo());
-				item.setPlaceDeliveryId(bills.getPlaceDeliveryId());
-				item.setPlaceDeliveryName(bills.getPlaceDeliveryName());
-				item.setPlaceDeliveryCode(bills.getPlaceDeliveryCode());
 				item.setDestinationId(bills.getDestinationId());
 				item.setDestinationName(bills.getDestinationName());
 				item.setDestinationCode(bills.getDestinationCode());
@@ -1310,10 +1330,6 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				item.setForeignAgencyEnName(bills.getForeignAgencyEnName());
 				item.setForeignAgencyDetails(bills.getForeignAgencyDetails());
 				item.setForeignCntyName(bills.getForeignCntyName());
-				item.setCarrierId(bills.getCarrierId());
-				item.setCarrierCnName(bills.getCarrierCnName());
-				item.setCarrierEnName(bills.getCarrierEnName());
-				item.setCarrierArgreementNo(bills.getCarrierArgreementNo());
 				item.setBoxBelongsTo(bills.getBoxBelongsTo());
 				item.setPortTerminalCyId(bills.getPortTerminalCyId());
 				item.setPortTerminalCyCode(bills.getPortTerminalCyCode());
@@ -1328,11 +1344,6 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				item.setCyAddress(bills.getCyAddress());
 				item.setCyContacts(bills.getCyContacts());
 				item.setCyTel(bills.getCyTel());
-				item.setCyRemarks(bills.getCyRemarks());
-				item.setHpaymode(bills.getHpaymode());
-				item.setMpaymode(bills.getMpaymode());
-				item.setIssueAtId(bills.getIssueAtId());
-				item.setIssueAt(bills.getIssueAt());
 				item.setUpdateTime(new Date());
 				item.setUpdateUser(AuthUtil.getUserId());
 				item.setUpdateUserName(AuthUtil.getUserName());
@@ -3925,6 +3936,8 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				}
 				this.updateBatchById(billsHList);
 			}
+		} else {
+			idMList = billsList.stream().map(Bills::getId).collect(Collectors.toList());
 		}
 		Integer actId = null;
 		String processType = "";
@@ -5368,6 +5381,174 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		return R.data(billsFd);
 	}
 
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public R submitConfirm(Bills bills) throws Exception {
+		Bills billsFd = baseMapper.selectOne(new LambdaQueryWrapper<Bills>()
+			.eq(Bills::getTenantId,AuthUtil.getTenantId())
+			.eq(Bills::getIsDeleted,0)
+			.eq(Bills::getTemporaryId,bills.getId()));
+		if (billsFd != null){
+			if (ObjectUtils.isNotNull(billsFd.getCyTrailerTime()) && billsFd.getCyTrailerTime().compareTo(new Date()) < 0) {
+				throw new RuntimeException("当前时间已超过截单日期,不允许修改");
+			}
+			LocalDateTime now = LocalDateTime.now();
+			DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+			String formatted = now.format(formatter);
+			//发送消息
+			if (ObjectUtils.isNotNull(billsFd.getOperatorId())) {
+				R<User> userR = userClient.userInfoById(billsFd.getOperatorId());
+				if (userR.isSuccess() && ObjectUtils.isNotNull(userR.getData())) {
+					User datum = userR.getData();
+					Message sendMessage = new Message();
+					sendMessage.setParameter(billsFd.getId() + "");
+					sendMessage.setUserName(AuthUtil.getUserName());
+					sendMessage.setUserId(null);
+					sendMessage.setToUserId(datum.getId());
+					sendMessage.setToUserName(datum.getName());
+					sendMessage.setMessageType(1);
+					sendMessage.setTenantId(AuthUtil.getTenantId());
+					sendMessage.setCreateUser(null);
+					sendMessage.setCreateTime(new Date());
+					sendMessage.setUrl("/iosBasicData/SeafreightExportF/bills/index");
+					sendMessage.setPageLabel("海运出口");
+					sendMessage.setPageStatus("this.$store.getters.domSaleStatus");
+					sendMessage.setMessageBody("您有客户订舱已提交确认,请及时待处理!提单号:" + billsFd.getMblno() + "时间:" + formatted);
+					R save = messageClient.save(sendMessage);
+					if (!save.isSuccess()) {
+						throw new SecurityException("发送消息失败");
+					}
+				}
+			}
+			//发送消息
+			if (ObjectUtils.isNotNull(billsFd.getCustomerServiceId())) {
+				R<User> userR = userClient.userInfoById(billsFd.getCustomerServiceId());
+				if (userR.isSuccess() && ObjectUtils.isNotNull(userR.getData())) {
+					User datum = userR.getData();
+					Message sendMessage = new Message();
+					sendMessage.setParameter(billsFd.getId() + "");
+					sendMessage.setUserName(AuthUtil.getUserName());
+					sendMessage.setUserId(null);
+					sendMessage.setToUserId(datum.getId());
+					sendMessage.setToUserName(datum.getName());
+					sendMessage.setMessageType(1);
+					sendMessage.setTenantId(AuthUtil.getTenantId());
+					sendMessage.setCreateUser(null);
+					sendMessage.setCreateTime(new Date());
+					sendMessage.setUrl("/iosBasicData/SeafreightExportF/bills/index");
+					sendMessage.setPageLabel("海运出口");
+					sendMessage.setPageStatus("this.$store.getters.domSaleStatus");
+					sendMessage.setMessageBody("您有客户订舱已提交确认,请及时待处理!提单号:" + billsFd.getMblno() + "时间:" + formatted);
+					R save = messageClient.save(sendMessage);
+					if (!save.isSuccess()) {
+						throw new SecurityException("发送消息失败");
+					}
+				}
+			}
+		}
+		bills.setUpdateUserName(AuthUtil.getUserName());
+		bills.setUpdateUser(AuthUtil.getUserId());
+		bills.setUpdateTime(new Date());
+		bills.setConfirmStatus("1");
+		Integer V20 = 0;
+		Integer V40 = 0;
+		Integer V40HC = 0;
+		Integer V45 = 0;
+		Integer V48 = 0;
+		Integer other = 0;
+		BigDecimal teu = new BigDecimal("0.00");
+		StringBuilder boxTypeSum = new StringBuilder();
+		if (ObjectUtils.isNotNull(bills.getPreContainersList())) {
+			for (PreContainers item : bills.getPreContainersList()) {
+				if (ObjectUtils.isNull(item.getCntrTypeCode())) {
+					throw new RuntimeException("箱型不能为空");
+				}
+				if (item.getId() == null) {
+					item.setCreateTime(new Date());
+					item.setCreateUser(AuthUtil.getUserId());
+					item.setCreateUserName(AuthUtil.getUserName());
+				} else {
+					item.setUpdateUser(AuthUtil.getUserId());
+					item.setUpdateTime(new Date());
+					item.setUpdateUserName(AuthUtil.getUserName());
+				}
+				item.setPid(bills.getId());
+				if (item.getCntrTypeCode().equals("20GP")) {
+					V20 += item.getQuantity();
+				} else if (item.getCntrTypeCode().equals("20HC")) {
+					V45 += item.getQuantity();
+				} else if (item.getCntrTypeCode().equals("40FR")) {
+					V48 += item.getQuantity();
+				} else if (item.getCntrTypeCode().equals("40GP")) {
+					V40 += item.getQuantity();
+				} else if (item.getCntrTypeCode().equals("40HC")) {
+					V40HC += item.getQuantity();
+				} else {
+					other += item.getQuantity();
+				}
+				boxTypeSum.append(item.getCntrTypeCode()).append("*").append(item.getQuantity()).append(",");
+				if (ObjectUtils.isNotNull(item.getQuantity()) && ObjectUtils.isNotNull(item.getTeu())) {
+					teu = teu.add(new BigDecimal(item.getQuantity()).multiply(item.getTeu()));
+				}
+			}
+			preContainersService.saveOrUpdateBatch(bills.getPreContainersList());
+			if (boxTypeSum.length() > 0) {
+				boxTypeSum = new StringBuilder(boxTypeSum.substring(0, boxTypeSum.length() - 1));
+				bills.setQuantityCntrDescr(boxTypeSum.toString());
+			}
+		}
+		bills.setQuantityV20(V20);
+		bills.setQuantityV40(V40);
+		bills.setQuantityV40hc(V40HC);
+		bills.setQuantityV45(V45);
+		bills.setQuantityV48(V48);
+		bills.setQuantityOther(other);
+		bills.setTeu(teu.intValue());
+		baseMapper.updateById(bills);
+		if (ObjectUtils.isNotNull(bills.getContainersList())) {
+			for (Containers item : bills.getContainersList()) {
+				item.setPid(bills.getId());
+				if (item.getId() == null) {
+					item.setCreateTime(new Date());
+					item.setCreateUser(AuthUtil.getUserId());
+					item.setCreateUserName(AuthUtil.getUserName());
+				} else {
+					item.setUpdateUser(AuthUtil.getUserId());
+					item.setUpdateTime(new Date());
+					item.setUpdateUserName(AuthUtil.getUserName());
+				}
+			}
+			containersService.saveOrUpdateBatch(bills.getContainersList());
+		}
+		if (ObjectUtils.isNotNull(bills.getDetail())) {
+			Object seaBillsDetailObject = StringTools.handle(bills.getDetail(), "SeaBillsDetail");
+			SeaBillsDetail seaBillsDetail = JSONObject.parseObject(JSONObject.toJSONString(seaBillsDetailObject), SeaBillsDetail.class);
+			if (ObjectUtils.isNotNull(seaBillsDetail.getId())) {
+				seaBillsDetail.setUpdateUser(AuthUtil.getUserId());
+				seaBillsDetail.setUpdateUserName(AuthUtil.getUserName());
+				seaBillsDetail.setUpdateTime(new Date());
+			} else {
+				seaBillsDetail.setPid(bills.getId());
+				seaBillsDetail.setBranchId(bills.getBranchId());
+				seaBillsDetail.setCreateUser(AuthUtil.getUserId());
+				seaBillsDetail.setCreateUserName(AuthUtil.getUserName());
+				seaBillsDetail.setCreateDept(bills.getCreateDept());
+				seaBillsDetail.setCreateDeptName(bills.getCreateDeptName());
+				seaBillsDetail.setCreateTime(new Date());
+			}
+			seaBillsDetailService.saveOrUpdate(seaBillsDetail);
+			String text = "";
+			if (ObjectUtils.isNotNull(seaBillsDetail.getHconsigneeDetails())) {
+				text = text + seaBillsDetail.getHconsigneeDetails() + ";";
+			}
+			if (ObjectUtils.isNotNull(seaBillsDetail.getHshipperDetails())) {
+				text = text + seaBillsDetail.getHshipperDetails() + ";";
+			}
+			bills.setReceivingAndShipping(text);
+		}
+		return R.data(bills);
+	}
+
 	/**
 	 * 删除海运进出口明细表
 	 *

+ 30 - 4
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/TemplateImportServiceImpl.java

@@ -1340,9 +1340,9 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
 		//提单号
 		String mblno = getSheetCellValueAsString(sheet, 6, 10);
 		if (ObjectUtils.isNotNull(mblno)) {
-			if ("MH".equals(bills.getBillType())){
+			if ("MH".equals(bills.getBillType())) {
 				bills.setHblno(mblno.trim());
-			}else{
+			} else {
 				bills.setMblno(mblno.trim());
 			}
 		}
@@ -1445,6 +1445,19 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
 			if (lastDigitIndex > 0) {
 				String number = quantity.substring(0, lastDigitIndex + 1);
 				bills.setQuantity(new BigDecimal(number));
+				String packingUnit = quantity.substring(lastDigitIndex + 1);
+				if (ObjectUtils.isNotNull(packingUnit)) {
+					BPackages packages = bPackagesService.getOne(new LambdaQueryWrapper<BPackages>()
+						.eq(BPackages::getTenantId, AuthUtil.getTenantId())
+						.eq(BPackages::getIsDeleted, 0)
+						.eq(BPackages::getWhetherDg, 0)
+						.eq(BPackages::getCnName, packingUnit.trim()));
+					if (packages == null) {
+						throw new RuntimeException("包装单位" + packingUnit + "未在基础资料中维护");
+					}
+					bills.setPackingUnitId(packages.getId());
+					bills.setPackingUnit(packingUnit);
+				}
 			}
 		}
 		System.out.println("quantity:" + quantity);
@@ -1629,9 +1642,9 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
 		//提单号
 		String mblno = getSheetCellValueAsString(sheet, 6, 10);
 		if (ObjectUtils.isNotNull(mblno)) {
-			if ("MH".equals(bills.getBillType())){
+			if ("MH".equals(bills.getBillType())) {
 				bills.setHblno(mblno.trim());
-			}else{
+			} else {
 				bills.setMblno(mblno.trim());
 			}
 		}
@@ -1731,6 +1744,19 @@ public class TemplateImportServiceImpl implements ITemplateImportService {
 			if (lastDigitIndex > 0) {
 				String number = quantity.substring(0, lastDigitIndex + 1);
 				bills.setQuantity(new BigDecimal(number));
+				String packingUnit = quantity.substring(lastDigitIndex + 1);
+				if (ObjectUtils.isNotNull(packingUnit)) {
+					BPackages packages = bPackagesService.getOne(new LambdaQueryWrapper<BPackages>()
+						.eq(BPackages::getTenantId, AuthUtil.getTenantId())
+						.eq(BPackages::getIsDeleted, 0)
+						.eq(BPackages::getWhetherDg, 0)
+						.eq(BPackages::getCnName, packingUnit.trim()));
+					if (packages == null) {
+						throw new RuntimeException("包装单位" + packingUnit + "未在基础资料中维护");
+					}
+					bills.setPackingUnitId(packages.getId());
+					bills.setPackingUnit(packingUnit);
+				}
 			}
 		}
 		System.out.println("quantity:" + quantity);

+ 4 - 0
blade-service/blade-los/src/main/java/org/springblade/los/check/service/impl/AuditProecessServiceImpl.java

@@ -264,6 +264,10 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 					message.setMessageBody("您有新的费用审核待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
 						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
 					);
+				}else if ("客户托书审核".equals(auditProecess.getProcessType())) {
+					message.setMessageBody("您有新的客户托书审核待确认,业务单号:" + auditProecessDTO.getBillNo() + ",请审核。"
+						+ "提交人:" + auditProecessDTO.getSendName() + "  " + "提交时间" + simpleDateFormat.format(auditProecessDTO.getSendTime())
+					);
 				}
 
 

+ 2 - 3
blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/service/impl/FinPeriodServiceImpl.java

@@ -638,9 +638,8 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 			branchId = AuthUtil.getDeptId();
 		}
 		//获取部门ids对应中文名
-		if (ObjectUtils.isNotNull(AuthUtil.getDeptId())) {
-			deptId = AuthUtil.getDeptId();
-			R<List<String>> res = sysClient.getDeptNames(deptId);
+		if (ObjectUtils.isNotNull(branchId)) {
+			R<List<String>> res = sysClient.getDeptNames(branchId);
 			if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
 				deptName = String.join(",", res.getData());
 			}

+ 2 - 2
blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/service/impl/FinStlBillsServiceImpl.java

@@ -926,9 +926,9 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 						finStlBillsItemsService.saveOrUpdateBatch(finStlBillsItemsList);
 					}
 				}
-				if (!filesCenters.isEmpty()) {
+				/*if (!filesCenters.isEmpty()) {
 					filesCenterService.saveBatch(filesCenters);
-				}
+				}*/
 			}
 			List<FinAccBills> finAccBillsList = new ArrayList<>();
 			List<FeeCenter> feeCenterList = new ArrayList<>();

+ 1 - 0
blade-service/blade-los/src/main/java/org/springblade/los/ftp/service/impl/CyFtpServiceImpl.java

@@ -96,6 +96,7 @@ public class CyFtpServiceImpl implements CyFtpService {
 								analysis.setBoxStatusDate(sdf.parse(movement.getMovementDateTime()));
 							}
 							analysis.setSrcFile(file.getName());
+							analysis.setCorpId(corpId);
 							if (ObjectUtils.isNotNull(analysis.getContainerNumber())) {
 								analysisList.add(analysis);
 							}

+ 3 - 0
blade-service/blade-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml

@@ -51,6 +51,9 @@
         <if test="user.realName!=null and user.realName != ''">
             and real_name like concat('%', #{user.realName}, '%')
         </if>
+        <if test="user.code!=null and user.code != ''">
+            and code like concat('%', #{user.code}, '%')
+        </if>
         <if test="user.userType!=null and user.userType != ''">
             and user_type = #{user.userType}
         </if>