Browse Source

feat(port): 添加港口运输周期详情查询功能

- 在 IPortTransitCycleService 中新增 getDetail 方法接口
- 在 PortTransitCycleController 中添加 /getDetail 接口
- 在 PortTransitCycleMapper 中新增 getMethodNoByDesc 和 getDetail 查询方法
- 在 PortTransitCycleMapper.xml 中实现对应的 SQL 查询语句
- 在 PortTransitCycleServiceImpl 中实现 getDetail 方法
master
qiankanghui 2 months ago
parent
commit
96ac729439
  1. 7
      src/main/java/com/xujie/modules/port/controller/PortTransitCycleController.java
  2. 6
      src/main/java/com/xujie/modules/port/dao/PortTransitCycleMapper.java
  3. 3
      src/main/java/com/xujie/modules/port/service/Iface/IPortTransitCycleService.java
  4. 17
      src/main/java/com/xujie/modules/port/service/Impl/PortTransitCycleServiceImpl.java
  5. 21
      src/main/resources/mapper/port/PortTransitCycleMapper.xml

7
src/main/java/com/xujie/modules/port/controller/PortTransitCycleController.java

@ -21,6 +21,7 @@ import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;
import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@ -55,6 +56,12 @@ public class PortTransitCycleController {
baseService.saveModel(model); baseService.saveModel(model);
return R.ok(); return R.ok();
} }
@PostMapping("/getDetail")
public R getDetail(String departure, String destination){
List<Map<String, Object>> list =
baseService.getDetail(departure, destination);
return R.ok().put("data", list);
}
/** /**
* 分组统计查询按始发港和目的港汇总不同运输方式的周期 * 分组统计查询按始发港和目的港汇总不同运输方式的周期
*/ */

6
src/main/java/com/xujie/modules/port/dao/PortTransitCycleMapper.java

@ -9,6 +9,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
@ -33,4 +34,9 @@ public interface PortTransitCycleMapper extends BaseMapper<PortTransitCycle> {
PortTransitCycle selectOneByUnique(@Param("departure") String departure, PortTransitCycle selectOneByUnique(@Param("departure") String departure,
@Param("destination") String destination, @Param("destination") String destination,
@Param("shipMethod") String shipMethod); @Param("shipMethod") String shipMethod);
String getMethodNoByDesc(@Param("methodDesc") String methodDesc);
List<Map<String, Object>> getDetail(@Param("departure") String departure,
@Param("destination") String destination);
} }

3
src/main/java/com/xujie/modules/port/service/Iface/IPortTransitCycleService.java

@ -9,6 +9,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
@ -38,4 +39,6 @@ public interface IPortTransitCycleService extends IService<PortTransitCycle> {
* 批量保存上传的数据 * 批量保存上传的数据
*/ */
void batchSave(MultipartFile file); void batchSave(MultipartFile file);
List<Map<String, Object>> getDetail(String departure, String destination);
} }

17
src/main/java/com/xujie/modules/port/service/Impl/PortTransitCycleServiceImpl.java

@ -17,10 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -45,15 +42,15 @@ public class PortTransitCycleServiceImpl extends ServiceImpl<PortTransitCycleMap
Date now = new Date(); Date now = new Date();
// 只处理前端有值
// 陆运
if(model.getLuyun() != null){ if(model.getLuyun() != null){
saveOrUpdateOne(model, "陆运", model.getLuyun(), now); saveOrUpdateOne(model, "陆运", model.getLuyun(), now);
} }
// 海运
if(model.getHaiyun() != null){ if(model.getHaiyun() != null){
saveOrUpdateOne(model, "海运", model.getHaiyun(), now); saveOrUpdateOne(model, "海运", model.getHaiyun(), now);
} }
// 空运
if(model.getKongyun() != null){ if(model.getKongyun() != null){
saveOrUpdateOne(model, "空运", model.getKongyun(), now); saveOrUpdateOne(model, "空运", model.getKongyun(), now);
} }
@ -90,6 +87,11 @@ public class PortTransitCycleServiceImpl extends ServiceImpl<PortTransitCycleMap
} }
} }
@Override
public List<Map<String, Object>> getDetail(String departure, String destination) {
return baseMapper.getDetail(departure, destination);
}
@Override @Override
public List<PortTransitCycleVo> calculateArrivalTime(PortTransitCycleVo data) { public List<PortTransitCycleVo> calculateArrivalTime(PortTransitCycleVo data) {
List<PortTransitCycleVo> list = baseMapper.getListByModel(data); List<PortTransitCycleVo> list = baseMapper.getListByModel(data);
@ -194,4 +196,5 @@ public class PortTransitCycleServiceImpl extends ServiceImpl<PortTransitCycleMap
} }
} }
} }

21
src/main/resources/mapper/port/PortTransitCycleMapper.xml

@ -99,4 +99,25 @@
AND destination = #{destination} AND destination = #{destination}
AND ship_method = #{shipMethod} AND ship_method = #{shipMethod}
</select> </select>
<select id="getMethodNoByDesc" resultType="string">
SELECT method_no
FROM ship_method
WHERE method_desc = #{methodDesc}
AND active = 'Y'
</select>
<select id="getDetail" resultType="map">
SELECT
sm.method_desc AS shipMethod,
sm.method_no AS methodNo,
ptc.transit_days AS transitDays
FROM ship_method sm
LEFT JOIN port_transit_cycle ptc
ON sm.method_desc = ptc.ship_method
AND ptc.departure = #{departure}
AND ptc.destination = #{destination}
WHERE sm.active = 'Y'
</select>
</mapper> </mapper>
Loading…
Cancel
Save