Browse Source

1.预定舱禅道bug修改
2.箱池动态-四个导入接口调试及逻辑修改

纪新园 6 months ago
parent
commit
32c9bc6e65
16 changed files with 576 additions and 299 deletions
  1. 7 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/entity/PutBox.java
  2. 69 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/excel/EmptyContainerAppearanceAnalysis.java
  3. 2 1
      blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsBoxServiceImpl.java
  4. 3 3
      blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java
  5. 45 8
      blade-service/blade-los/src/main/java/org/springblade/los/box/controller/BoxPoolController.java
  6. 29 2
      blade-service/blade-los/src/main/java/org/springblade/los/box/controller/PutBoxController.java
  7. 13 4
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/IPutBoxService.java
  8. 308 236
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/PutBoxServiceImpl.java
  9. 1 0
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/TradingBoxServiceImpl.java
  10. 27 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/mktSlot/service/impl/MktSlotItemServiceImpl.java
  11. 10 5
      blade-service/blade-los/src/main/java/org/springblade/los/business/mktSlot/service/impl/MktSlotServiceImpl.java
  12. 1 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BookingCabinController.java
  13. 4 4
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/ContainersMapper.xml
  14. 54 29
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java
  15. 2 2
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/SeaContainerNumberItemServiceImpl.java
  16. 1 5
      blade-service/blade-los/src/main/java/org/springblade/los/excel/UpdatePodStationExcel.java

+ 7 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/box/entity/PutBox.java

@@ -382,4 +382,11 @@ public class PutBox implements Serializable {
 	@TableField(exist = false)
 	private Date etd;
 
+	/**
+	 * 本次提箱
+	 */
+	@TableField(exist = false)
+	private Integer thisSuitcaseNum;
+
+
 }

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

@@ -0,0 +1,69 @@
+package org.springblade.los.box.excel;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author :jixinyuan
+ * @date : 2025/4/17
+ */
+@Data
+public class EmptyContainerAppearanceAnalysis {
+
+	/**
+	 * 放箱号
+	 */
+	private String containerNumber;
+
+	/**
+	 * 箱号
+	 */
+	private String boxCode;
+
+	/**
+	 * 箱型
+	 */
+	private String boxType;
+
+	/**
+	 * 港口
+	 */
+	private String portName;
+
+	/**
+	 * 场站
+	 */
+	private String stationName;
+
+	/**
+	 * 提单号
+	 */
+	private String mblno;
+
+	/**
+	 * 箱动态
+	 */
+	private String boxStatus;
+
+	/**
+	 * 动态日期
+	 */
+	private Date boxStatusDate;
+
+	/**
+	 * 单据号
+	 */
+	private String billNo;
+
+	/**
+	 * 结果
+	 */
+	private String result;
+
+	/**
+	 * 原因
+	 */
+	private String reason;
+
+}

+ 2 - 1
blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsBoxServiceImpl.java

@@ -355,7 +355,8 @@ public class ReportsBoxServiceImpl implements IReportsBoxService {
 					.eq(MktSlotQuotation::getTenantId, AuthUtil.getTenantId())
 					.eq(MktSlotQuotation::getIsDeleted, 0)
 					.eq(MktSlotQuotation::getPid, mktSlot.getId())
-					.orderByDesc(MktSlotQuotation::getSort));
+					.orderByAsc(MktSlotQuotation::getSort)
+					.orderByAsc(MktSlotQuotation::getPodCnName));
 				mktSlot.setMktSlotQuotationList(mktSlotQuotationList);
 				mktSlot.setDept(dept);
 				map.put(MagicValues.DATA, mktSlot);

+ 3 - 3
blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java

@@ -1287,7 +1287,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 					containersReportsList.add(containersReports);
 					text.append(item.getCntrNo()).append("/").append(item.getSealNo()).append("/")
 						.append(item.getQuantity()).append(item.getPackingUnit()).append("/")
-						.append(item.getGrossWeight()).append(item.getPackingUnit()).append("/")
+						.append(item.getGrossWeight()).append("KGS").append("/")
 						.append(item.getMeasurement()).append("CBM").append("<br/>");
 					if (ObjectUtils.isNotNull(item.getCntrNo()) || ObjectUtils.isNotNull(item.getSealNo())) {
 						cntrSealNo.append(item.getCntrNo()).append("/").append(item.getSealNo()).append("  ");
@@ -1336,7 +1336,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 				for (Containers item : containersList) {
 					text.append(item.getCntrNo()).append("/").append(item.getSealNo()).append("/")
 						.append(item.getQuantity()).append(item.getPackingUnit()).append("/")
-						.append(item.getGrossWeight()).append(item.getPackingUnit()).append("/")
+						.append(item.getGrossWeight()).append("KGS").append("/")
 						.append(item.getMeasurement()).append("CBM").append("<br/>");
 					if (ObjectUtils.isNotNull(item.getCntrNo()) || ObjectUtils.isNotNull(item.getSealNo())) {
 						cntrSealNo.append(item.getCntrNo()).append("/").append(item.getSealNo()).append("  ");
@@ -2108,7 +2108,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 				for (Containers item : containersList) {
 					text.append(item.getCntrNo()).append("/").append(item.getSealNo()).append("/")
 						.append(item.getQuantity()).append(item.getPackingUnit()).append("/")
-						.append(item.getGrossWeight()).append(item.getPackingUnit()).append("/")
+						.append(item.getGrossWeight()).append("KGS").append("/")
 						.append(item.getMeasurement()).append("CBM").append("<br/>");
 				}
 				bills.setCntryString(text.toString());

+ 45 - 8
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/BoxPoolController.java

@@ -29,6 +29,7 @@ import org.springblade.los.box.dto.BoxPoolDTO;
 import org.springblade.los.box.dto.BoxPoolItemDTO;
 import org.springblade.los.box.dto.BoxPoolPortDTO;
 import org.springblade.los.box.excel.EmptyContainerAppearance;
+import org.springblade.los.box.excel.EmptyContainerAppearanceAnalysis;
 import org.springblade.los.box.excel.EmptyContainerEntry;
 import org.springblade.los.box.excel.GiveAnEncore;
 import org.springblade.los.box.service.IPutBoxService;
@@ -87,12 +88,21 @@ public class BoxPoolController extends BladeController {
 	}
 
 	/**
+	 * 空箱提箱进场-excel解析列表
+	 */
+	@PostMapping("/emptyContainerEntryAnalysis")
+	@RepeatSubmit
+	public R emptyContainerEntryAnalysis(@RequestParam("file") MultipartFile file) throws IOException {
+		return putBoxService.emptyContainerEntryAnalysis(file);
+	}
+
+	/**
 	 * 导入 POL空箱提箱进场
 	 */
 	@PostMapping("/emptyContainerEntry")
 	@RepeatSubmit
-	public R emptyContainerEntry(@RequestParam("file") MultipartFile file) throws IOException {
-		return putBoxService.emptyContainerEntry(file);
+	public R emptyContainerEntry(@RequestBody List<EmptyContainerAppearanceAnalysis> analysisList)throws IOException {
+		return putBoxService.emptyContainerEntry(analysisList);
 	}
 
 	/**
@@ -105,12 +115,21 @@ public class BoxPoolController extends BladeController {
 	}
 
 	/**
+	 * POL空箱出场-excel解析列表
+	 */
+	@PostMapping("/emptyContainerAppearanceAnalysis")
+	@RepeatSubmit
+	public R emptyContainerAppearanceAnalysis(@RequestParam("file") MultipartFile file) throws IOException {
+		return putBoxService.emptyContainerAppearanceAnalysis(file);
+	}
+
+	/**
 	 * 导入 POL空箱出场
 	 */
 	@PostMapping("/emptyContainerAppearance")
 	@RepeatSubmit
-	public R emptyContainerAppearance(@RequestParam("file") MultipartFile file) throws IOException {
-		return putBoxService.emptyContainerAppearance(file);
+	public R emptyContainerAppearance(@RequestBody List<EmptyContainerAppearanceAnalysis> analysisList) throws IOException {
+		return putBoxService.emptyContainerAppearance(analysisList);
 	}
 
 	/**
@@ -123,12 +142,30 @@ public class BoxPoolController extends BladeController {
 	}
 
 	/**
+	 * POD返场-excel解析列表
+	 */
+	@PostMapping("/giveAnEncoreAnalysis")
+	@RepeatSubmit
+	public R giveAnEncoreAnalysis(@RequestParam("file") MultipartFile file) throws IOException {
+		return putBoxService.giveAnEncoreAnalysis(file);
+	}
+
+	/**
 	 * 导入 POD返场
 	 */
 	@PostMapping("/giveAnEncore")
 	@RepeatSubmit
-	public R giveAnEncore(@RequestParam("file") MultipartFile file) throws IOException {
-		return putBoxService.giveAnEncore(file);
+	public R giveAnEncore(@RequestBody List<EmptyContainerAppearanceAnalysis> analysisList) throws IOException {
+		return putBoxService.giveAnEncore(analysisList);
+	}
+
+	/**
+	 * POL无货返空-excel解析列表
+	 */
+	@PostMapping("/returnEmptyAnalysis")
+	@RepeatSubmit
+	public R returnEmptyAnalysis(@RequestParam("file") MultipartFile file) throws IOException {
+		return putBoxService.returnEmptyAnalysis(file);
 	}
 
 	/**
@@ -136,8 +173,8 @@ public class BoxPoolController extends BladeController {
 	 */
 	@PostMapping("/returnEmpty")
 	@RepeatSubmit
-	public R returnEmpty(@RequestParam("file") MultipartFile file) throws IOException {
-		return putBoxService.returnEmpty(file);
+	public R returnEmpty(@RequestBody List<EmptyContainerAppearanceAnalysis> analysisList) throws IOException {
+		return putBoxService.returnEmpty(analysisList);
 	}
 
 

+ 29 - 2
blade-service/blade-los/src/main/java/org/springblade/los/box/controller/PutBoxController.java

@@ -190,7 +190,7 @@ public class PutBoxController extends BladeController {
 		lambdaQueryWrapper.eq(PutBox::getTenantId, AuthUtil.getTenantId())
 			.eq(PutBox::getIsDeleted, 0)
 			.eq(PutBox::getBoxType, putBox.getBoxType())
-			.ne(PutBox::getBusType,"OW(放)")
+			.ne(PutBox::getBusType, "OW(放)")
 			.apply("remaining_num > 0")
 			.like(ObjectUtils.isNotNull(putBox.getPodId()), PutBox::getPodId, putBox.getPodId())
 			.like(ObjectUtils.isNotNull(putBox.getPolId()), PutBox::getPolId, putBox.getPolId())
@@ -202,7 +202,7 @@ public class PutBoxController extends BladeController {
 		if (ObjectUtils.isNotNull(putBox.getEtd())) {
 			SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
 			lambdaQueryWrapper.apply("DATE_FORMAT(effective_start_date,'%Y-%m-%d') <= '" + formatter.format(putBox.getEtd()) + "'")
-				.apply( "DATE_FORMAT(effective_end_date,'%Y-%m-%d') >= '" + formatter.format(putBox.getEtd()) + "'");
+				.apply("DATE_FORMAT(effective_end_date,'%Y-%m-%d') >= '" + formatter.format(putBox.getEtd()) + "'");
 		}
 		List<PutBox> putBoxList = putBoxService.list(lambdaQueryWrapper);
 		List<SeaContainerNumberItem> containerNumberItemList = new ArrayList<>();
@@ -233,4 +233,31 @@ public class PutBoxController extends BladeController {
 	}
 
 
+	/**
+	 * 分页 放箱表
+	 */
+	@GetMapping("/selectContainerNumber")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入putBox")
+	public R<List<PutBox>> selectContainerNumber(PutBox putBox) {
+		LambdaQueryWrapper<PutBox> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(PutBox::getTenantId, AuthUtil.getTenantId())
+			.eq(PutBox::getIsDeleted, 0)
+			.eq(ObjectUtils.isNotNull(putBox.getBoxType()), PutBox::getBoxType, putBox.getBoxType())
+			.eq(PutBox::getBoxClass, "自有箱")
+			.like(ObjectUtils.isNotNull(putBox.getContainerNumber()), PutBox::getContainerNumber, putBox.getContainerNumber())
+			.eq(ObjectUtils.isNotNull(putBox.getBoxBelongsTo()), PutBox::getBoxBelongsTo, putBox.getBoxBelongsTo())
+			.like(ObjectUtils.isNotNull(putBox.getPodId()), PutBox::getPodId, putBox.getPodId())
+			.like(ObjectUtils.isNotNull(putBox.getPolId()), PutBox::getPolId, putBox.getPolId())
+			.like(ObjectUtils.isNotNull(putBox.getPodStationId()), PutBox::getPodStationId, putBox.getPodStationId())
+			.like(ObjectUtils.isNotNull(putBox.getPolStationId()), PutBox::getPolStationId, putBox.getPolStationId())
+			.like(ObjectUtils.isNotNull(putBox.getSrcContainerNumber()), PutBox::getSrcContainerNumber, putBox.getSrcContainerNumber())
+			.like(ObjectUtils.isNotNull(putBox.getSrcNo()), PutBox::getSrcNo, putBox.getSrcNo())
+			.like(ObjectUtils.isNotNull(putBox.getCode()), PutBox::getCode, putBox.getCode())
+			.orderByDesc(PutBox::getCreateTime);
+		List<PutBox> pages = putBoxService.list(lambdaQueryWrapper);
+		return R.data(pages);
+	}
+
+
 }

+ 13 - 4
blade-service/blade-los/src/main/java/org/springblade/los/box/service/IPutBoxService.java

@@ -28,6 +28,7 @@ import org.springblade.los.box.dto.BoxPoolPortDTO;
 import org.springblade.los.box.entity.PutBox;
 import org.springblade.los.box.entity.TradingBox;
 import org.springblade.los.box.excel.EmptyContainerAppearance;
+import org.springblade.los.box.excel.EmptyContainerAppearanceAnalysis;
 import org.springblade.los.box.vo.PutBoxVO;
 import org.springblade.los.excel.RouteCostProfitExcel;
 import org.springframework.web.multipart.MultipartFile;
@@ -66,17 +67,25 @@ public interface IPutBoxService extends IService<PutBox> {
 
 	R<List<BoxPoolItemDTO>> listBoxItem(BoxPoolDTO boxPoolDTO);
 
-	R emptyContainerAppearance(MultipartFile file) throws IOException;
+	R emptyContainerAppearance(List<EmptyContainerAppearanceAnalysis> analysisList) throws IOException;
 
 	List<RouteCostProfitExcel> getBoxNumber(RouteCostProfitExcel routeCost);
 
-	R giveAnEncore(MultipartFile file)throws IOException;
+	R giveAnEncore(List<EmptyContainerAppearanceAnalysis> analysisList)throws IOException;
 
-	R returnEmpty(MultipartFile file)throws IOException;
+	R returnEmpty(List<EmptyContainerAppearanceAnalysis> analysisList)throws IOException;
 
 	PutBox copyDocument(PutBox putBox);
 
-	R emptyContainerEntry(MultipartFile file)throws IOException;
+	R emptyContainerEntry(List<EmptyContainerAppearanceAnalysis> analysisList)throws IOException;
 
 	R batchUpdatePodStation(String ids, Long podStationId, String podStationCode, String podStationCname, String podStationEname);
+
+	R emptyContainerEntryAnalysis(MultipartFile file)throws IOException;
+
+	R emptyContainerAppearanceAnalysis(MultipartFile file)throws IOException;
+
+	R giveAnEncoreAnalysis(MultipartFile file)throws IOException;
+
+	R returnEmptyAnalysis(MultipartFile file)throws IOException;
 }

File diff suppressed because it is too large
+ 308 - 236
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/PutBoxServiceImpl.java


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

@@ -1941,6 +1941,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				putBox.setBoxClass(itemList.get(0).getBoxCategory());
 				putBox.setTotalNum(itemList.size());
 				putBox.setRemainingNum(itemList.size());
+				putBox.setStorageNum(itemList.size());
 				putBox.setCode(itemList.stream().map(TradingBoxItem::getCode).collect(Collectors.joining(",")));
 				putBoxService.save(putBox);
 			}

+ 27 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/mktSlot/service/impl/MktSlotItemServiceImpl.java

@@ -17,16 +17,21 @@
 package org.springblade.los.business.mktSlot.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.los.business.mktSlot.entity.MktSlotItem;
+import org.springblade.los.business.mktSlot.entity.MktSlotQuotation;
 import org.springblade.los.business.mktSlot.mapper.MktSlotItemMapper;
 import org.springblade.los.business.mktSlot.service.IMktSlotItemService;
+import org.springblade.los.business.mktSlot.service.IMktSlotQuotationService;
 import org.springblade.los.business.mktSlot.vo.MktSlotItemVO;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -37,8 +42,11 @@ import java.util.List;
  * @since 2025-06-24
  */
 @Service
+@AllArgsConstructor
 public class MktSlotItemServiceImpl extends ServiceImpl<MktSlotItemMapper, MktSlotItem> implements IMktSlotItemService {
 
+	private final IMktSlotQuotationService mktSlotQuotationService;
+
 	@Override
 	public IPage<MktSlotItemVO> selectMktSlotItemPage(IPage<MktSlotItemVO> page, MktSlotItemVO mktSlotItem) {
 		return page.setRecords(baseMapper.selectMktSlotItemPage(page, mktSlotItem));
@@ -63,7 +71,11 @@ public class MktSlotItemServiceImpl extends ServiceImpl<MktSlotItemMapper, MktSl
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public R submitList(List<MktSlotItem> mktSlotItemList) {
+		List<MktSlotQuotation> mktSlotQuotationList = new ArrayList<>();
 		for (MktSlotItem item : mktSlotItemList) {
+			if (ObjectUtils.isNotNull(item.getMktSlotQuotationList()) && !item.getMktSlotQuotationList().isEmpty()) {
+				mktSlotQuotationList.addAll(item.getMktSlotQuotationList());
+			}
 			if (item.getId() == null) {
 				item.setCreateTime(new Date());
 				item.setCreateUser(AuthUtil.getUserId());
@@ -75,6 +87,21 @@ public class MktSlotItemServiceImpl extends ServiceImpl<MktSlotItemMapper, MktSl
 			}
 		}
 		this.saveOrUpdateBatch(mktSlotItemList);
+		if (!mktSlotQuotationList.isEmpty()) {
+			for (MktSlotQuotation item : mktSlotQuotationList) {
+				MktSlotItem mktSlotItem = mktSlotItemList.stream().filter(e -> e.getId().equals(item.getPpid()))
+					.findFirst().orElse(null);
+				if (mktSlotItem != null) {
+					item.setSort(mktSlotItem.getSort());
+				} else {
+					item.setSort(0);
+				}
+				item.setUpdateUser(AuthUtil.getUserId());
+				item.setUpdateTime(new Date());
+				item.setUpdateUserName(AuthUtil.getUserName());
+			}
+			mktSlotQuotationService.updateBatchById(mktSlotQuotationList);
+		}
 		return R.data(mktSlotItemList);
 	}
 

+ 10 - 5
blade-service/blade-los/src/main/java/org/springblade/los/business/mktSlot/service/impl/MktSlotServiceImpl.java

@@ -69,8 +69,6 @@ public class MktSlotServiceImpl extends ServiceImpl<MktSlotMapper, MktSlot> impl
 
 	private final IBusinessTypeService bBusinessTypeService;
 
-	private final CurrencyUtils currencyUtils;
-
 	private final IMktSlotItemService mktSlotItemService;
 
 	private final IMktSlotQuotationService mktSlotQuotationService;
@@ -175,7 +173,7 @@ public class MktSlotServiceImpl extends ServiceImpl<MktSlotMapper, MktSlot> impl
 		if (ObjectUtils.isNotNull(mktSlot.getMktSlotItemList()) && !mktSlot.getMktSlotItemList().isEmpty()) {
 			List<MktSlotQuotation> mktSlotQuotationList = new ArrayList<>();
 			for (MktSlotItem item : mktSlot.getMktSlotItemList()) {
-				if (ObjectUtils.isNotNull(item.getMktSlotQuotationList()) && !item.getMktSlotQuotationList().isEmpty()){
+				if (ObjectUtils.isNotNull(item.getMktSlotQuotationList()) && !item.getMktSlotQuotationList().isEmpty()) {
 					mktSlotQuotationList.addAll(item.getMktSlotQuotationList());
 				}
 				if (item.getId() == null) {
@@ -192,8 +190,15 @@ public class MktSlotServiceImpl extends ServiceImpl<MktSlotMapper, MktSlot> impl
 				item.setPid(mktSlot.getId());
 			}
 			mktSlotItemService.saveOrUpdateBatch(mktSlot.getMktSlotItemList());
-			if (!mktSlotQuotationList.isEmpty()){
-				for (MktSlotQuotation item : mktSlotQuotationList){
+			if (!mktSlotQuotationList.isEmpty()) {
+				for (MktSlotQuotation item : mktSlotQuotationList) {
+					MktSlotItem mktSlotItem = mktSlot.getMktSlotItemList().stream().filter(e -> e.getId().equals(item.getPpid()))
+						.findFirst().orElse(null);
+					if (mktSlotItem != null) {
+						item.setSort(mktSlotItem.getSort());
+					} else {
+						item.setSort(0);
+					}
 					item.setUpdateUser(AuthUtil.getUserId());
 					item.setUpdateTime(new Date());
 					item.setUpdateUserName(AuthUtil.getUserName());

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

@@ -70,6 +70,7 @@ public class BookingCabinController extends BladeController {
 		LambdaQueryWrapper<Bills> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(Bills::getIsDeleted, 0)
 			.eq(Bills::getTenantId, AuthUtil.getTenantId())
+			.eq(Bills::getBusinessType, "YDC")
 			.like(ObjectUtils.isNotNull(bills.getBillNo()), Bills::getBillNo, bills.getBillNo())
 			.like(ObjectUtils.isNotNull(bills.getBookingNo()), Bills::getBookingNo, bills.getBookingNo())
 			.and(ObjectUtils.isNotNull(bills.getCorpCnName()), i -> i.like(Bills::getCorpCnName, bills.getCorpCnName()).or()

+ 4 - 4
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/ContainersMapper.xml

@@ -76,7 +76,7 @@
     <update id="removeByPid">
         update los_sea_containers set is_deleted = '1' where pid = #{pid} and cntr_type_code = #{type}
     </update>
-    <update id="updatePodStationPage">
+    <select id="updatePodStationPage" resultType="org.springblade.los.excel.UpdatePodStationExcel">
         SELECT
         se.corp_cn_name as corpName,
         se.mblno as mblno,
@@ -141,8 +141,8 @@
         <if test='data.whether != null and data.whether == "1"'>
             and sc.pod_station_cname is not null
         </if>
-    </update>
-    <update id="updatePodStationList">
+    </select>
+    <select id="updatePodStationList" resultType="org.springblade.los.excel.UpdatePodStationExcel">
         SELECT
         se.corp_cn_name as corpName,
         se.mblno as mblno,
@@ -207,7 +207,7 @@
         <if test='data.whether != null and data.whether == "1"'>
             and sc.pod_station_cname is not null
         </if>
-    </update>
+    </select>
 
 
     <select id="selectContainersPage" resultMap="containersResultMap">

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

@@ -541,7 +541,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		BigDecimal measurement = bills.getMeasurement();
 		//主单应加上分单费用
 		if ("MM".equals(bills.getBillType()) && ObjectUtils.isNotNull(bills.getId())) {
-			if (ObjectUtils.isNotNull(bills.getMblno()) && ObjectUtils.isNotNull(bills.getTemporaryId())){
+			if (ObjectUtils.isNotNull(bills.getMblno()) && ObjectUtils.isNotNull(bills.getTemporaryId())) {
 				Bills bills1 = new Bills();
 				bills1.setMblno(bills.getMblno());
 				bills1.setVesselId(bills.getVesselId());
@@ -4123,14 +4123,17 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
 			throw new RuntimeException("生成订单编号失败");
 		}
+		copyBills.setBusinessType("SE");
+		copyBills.setBusinessTypes("HYCK");
+		copyBills.setSeaType("E");
 		copyBills.setBillNo((String) clientBillNo.getData());
-		copyBills.setOperatorId(AuthUtil.getUserId());
-		copyBills.setOperatorName(AuthUtil.getUserName());
-		copyBills.setBillNo("");
+		copyBills.setCarrierId(detail.getActualShippingCompanyId());
+		copyBills.setCarrierCnName(detail.getActualShippingCompanyCname());
+		copyBills.setCarrierEnName(detail.getActualShippingCompanyEname());
+		copyBills.setCarrierShortName(detail.getActualShippingCompanyAbbreviation());
 		copyBills.setMblno("");
 		copyBills.setHblno("");
 		copyBills.setRefno("");
-		copyBills.setBookingNo("");
 		copyBills.setMasterBillNo(null);
 		copyBills.setMasterId(null);
 		copyBills.setStatus(0);
@@ -4203,6 +4206,30 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			}
 			preContainersService.saveBatch(preContainers);
 		}
+		R<User> res = userClient.userInfoById(copyBills.getOperatorId());
+		if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
+			LocalDateTime now = LocalDateTime.now();
+			DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+			String formatted = now.format(formatter);
+			Message sendMessage = new Message();
+			sendMessage.setParameter(bills.getId() + "");
+			sendMessage.setUserName(AuthUtil.getUserName());
+			sendMessage.setUserId(null);
+			sendMessage.setToUserId(res.getData().getId());
+			sendMessage.setToUserName(res.getData().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("您有新的预定舱,请及时待处理!单号:" + bills.getBillNo() + "时间:" + formatted);
+			R save = messageClient.save(sendMessage);
+			if (!save.isSuccess()) {
+				throw new SecurityException("发送消息失败");
+			}
+		}
 		return R.data(copyBills);
 	}
 
@@ -4443,35 +4470,33 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 
 	@Override
 	public R sendMessageBooking(Bills bills) {
-		//发送消息
-		R<String> res = sysClient.getRoleIds(bills.getBranchId(), "业务员");
-		if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())){
-			R<List<User>> userListR = userClient.listUserByRoleId(res.getData(),AuthUtil.getTenantId(),bills.getBranchId());
-			if (userListR.isSuccess() && ObjectUtils.isNotNull(userListR.getData())) {
+		if (ObjectUtils.isNotNull(bills.getCustomerServiceId())) {
+			R<User> res = userClient.userInfoById(bills.getCustomerServiceId());
+			if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
 				LocalDateTime now = LocalDateTime.now();
 				DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
 				String formatted = now.format(formatter);
-				for (User datum : userListR.getData()){
-					Message sendMessage = new Message();
-					sendMessage.setParameter(bills.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/OceanFreightImport/bills/index");
-					sendMessage.setPageLabel("海运进口");
-					sendMessage.setPageStatus("this.$store.getters.domSaleStatus");
-					sendMessage.setMessageBody("您有新的预定舱,请及时待处理!单号:" + bills.getBillNo() + "时间:" + formatted);
-					R save = messageClient.save(sendMessage);
-					if (!save.isSuccess()) {
-						throw new SecurityException("发送消息失败");
-					}
+				Message sendMessage = new Message();
+				sendMessage.setParameter(bills.getId() + "");
+				sendMessage.setUserName(AuthUtil.getUserName());
+				sendMessage.setUserId(null);
+				sendMessage.setToUserId(res.getData().getId());
+				sendMessage.setToUserName(res.getData().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("您有新的预定舱,请及时待处理!单号:" + bills.getBillNo() + "时间:" + formatted);
+				R save = messageClient.save(sendMessage);
+				if (!save.isSuccess()) {
+					throw new SecurityException("发送消息失败");
 				}
 			}
+		} else {
+			throw new RuntimeException("请选择负责人");
 		}
 		return R.data("操作成功");
 	}

+ 2 - 2
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/SeaContainerNumberItemServiceImpl.java

@@ -108,7 +108,7 @@ public class SeaContainerNumberItemServiceImpl extends ServiceImpl<SeaContainerN
 				throw new RuntimeException("数据错误,请联系管理员");
 			}
 			item.setOccupyNum(item.getOccupyNum() + containerNumberItem.getOccupyNum());
-			item.setRemainingNum(item.getStorageNum() - item.getOccupyNum());
+			item.setRemainingNum(item.getTotalNum() - item.getOccupyNum());
 		}
 		putBoxService.updateBatchById(putBoxList);
 		PreContainers preContainers = preContainersService.getOne(new LambdaQueryWrapper<PreContainers>()
@@ -299,7 +299,7 @@ public class SeaContainerNumberItemServiceImpl extends ServiceImpl<SeaContainerN
 				throw new RuntimeException("数据错误,请联系管理员");
 			}
 			item.setOccupyNum(item.getOccupyNum() - containerNumberItem.getOccupyNum());
-			item.setRemainingNum(item.getStorageNum() - item.getOccupyNum());
+			item.setRemainingNum(item.getTotalNum() - item.getOccupyNum());
 		}
 		putBoxService.updateBatchById(putBoxList);
 		PreContainers preContainers = preContainersService.getOne(new LambdaQueryWrapper<PreContainers>()

+ 1 - 5
blade-service/blade-los/src/main/java/org/springblade/los/excel/UpdatePodStationExcel.java

@@ -2,12 +2,8 @@ package org.springblade.los.excel;
 
 import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
 
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -36,7 +32,7 @@ public class UpdatePodStationExcel {
 	 * 船名
 	 */
 	@ExcelProperty(value = "船名")
-	private Date vesselCnName;
+	private String vesselCnName;
 	/**
 	 * 航次
 	 */

Some files were not shown because too many files changed in this diff