diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/BsrealStorattrController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/BsrealStorattrController.java index 7ee35d4..6b32c4c 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/BsrealStorattrController.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/BsrealStorattrController.java @@ -3,7 +3,9 @@ package org.nl.wms.basedata_manage.controller; import cn.dev33.satoken.annotation.SaIgnore; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -14,6 +16,10 @@ import org.nl.common.hikvision.HikvisionIsapiDigestUtil; import org.nl.common.logging.annotation.Log; import org.nl.wms.basedata_manage.service.IBsrealStorattrService; import org.nl.wms.basedata_manage.service.dao.BsrealStorattr; +import org.nl.wms.sch_manage.enums.TaskStatus; +import org.nl.wms.sch_manage.service.ISchBaseTaskService; +import org.nl.wms.sch_manage.service.dao.SchBaseTask; +import org.nl.wms.warehouse_management.enums.IOSConstant; import org.springframework.core.io.UrlResource; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpHeaders; @@ -26,6 +32,7 @@ import javax.annotation.Resource; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.List; import java.util.Map; @@ -45,6 +52,9 @@ public class BsrealStorattrController { @Resource private final IBsrealStorattrService iBsrealStorattrService; + @Resource + private ISchBaseTaskService iSchBaseTaskService; + @GetMapping @Log("查询仓库") public ResponseEntity query(@RequestParam Map whereJson, PageQuery page) { @@ -90,17 +100,33 @@ public class BsrealStorattrController { @SaIgnore public ResponseEntity getFile(@PathVariable String filename) { try { - String imagePath = HikvisionIsapiDigestUtil.path+ DateUtil.thisYear(); + // 查询当前载具最近的一次入库任务 + List taskList = iSchBaseTaskService.list( + new QueryWrapper().lambda() + .eq(SchBaseTask::getVehicle_code, filename) + .eq(SchBaseTask::getIs_delete, IOSConstant.ZERO) + .eq(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()) + .in(SchBaseTask::getConfig_code, IOSConstant.IN_TYPE_CONFIG_CODE) + .orderByDesc(SchBaseTask::getCreate_time) + ); + if (ObjectUtil.isEmpty(taskList)) { + throw new BadRequestException("当前载具未查询到入库任务!"); + } + SchBaseTask schBaseTask = taskList.get(0); + // 年月日文件夹 + String timeFile = schBaseTask.getCreate_time().substring(0, 10); + + String imagePath = HikvisionIsapiDigestUtil.path + "\\" + timeFile; //文件名称后缀是jpg,具体以实际为准。文件路径是:path+当前年份,在存储时也是一样 //文件会存储两份:一个是载具编号.jpg,一个是载具编号_任务号.jpg,载具编号的图片会进行替换为最新的 - Path file = Paths.get(imagePath).resolve(filename+".jpg"); + Path file = Paths.get(imagePath).resolve(schBaseTask.getTask_code()+"_"+filename+".jpg"); org.springframework.core.io.Resource resource = new UrlResource(file.toUri()); if (resource.exists() && resource.isReadable()) { return ResponseEntity.ok() .header(HttpHeaders.CONTENT_TYPE, Files.probeContentType(file)) .body(resource); } else { - throw new BadRequestException("文件不存在"); + throw new BadRequestException("文件不存在"); } } catch (Exception e) { throw new BadRequestException(e.getMessage()); diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IBsrealStorattrService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IBsrealStorattrService.java index 44fe691..6a01df8 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IBsrealStorattrService.java +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IBsrealStorattrService.java @@ -7,6 +7,7 @@ import org.nl.common.domain.query.PageQuery; import org.nl.wms.basedata_manage.service.dao.BsrealStorattr; import org.nl.wms.basedata_manage.service.dao.BsrealStorattrDto; import org.springframework.data.domain.Pageable; +import org.springframework.http.ResponseEntity; import java.util.List; import java.util.Map; @@ -75,5 +76,4 @@ public interface IBsrealStorattrService extends IService { * @param json */ void changeActive(JSONObject json); - } diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml index 90491af..801a672 100644 --- a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/MdPbStoragevehicleextMapper.xml @@ -30,7 +30,7 @@ AND ext.canuse_qty > 0 AND - attr.stor_id LIKE #{param.stor_id} + attr.stor_id = #{param.stor_id} @@ -40,17 +40,17 @@ AND - attr.struct_code LIKE #{param.struct_code} + attr.struct_code LIKE CONCAT(#{param.struct_code},'%') AND - material.material_code LIKE #{param.material_code} + material.material_code LIKE CONCAT(#{param.material_code},'%') AND - ext.pcsn = #{param.pcsn} + ext.pcsn LIKE CONCAT(#{param.pcsn},'%') @@ -174,6 +174,17 @@ AND ext.pcsn LIKE #{param.pcsn} + + + AND + late.produce_time >= #{param.begin_time} + + + + AND + late.produce_time <= #{param.end_time} + + ORDER BY ext.insert_time Desc @@ -215,6 +226,16 @@ AND ext.pcsn LIKE #{param.pcsn} + + + AND + late.produce_time >= #{param.begin_time} + + + + AND + late.produce_time <= #{param.end_time} + @@ -283,7 +304,7 @@ late.device_code = #{device_code} - ORDER BY quality_day,ex.insert_time,ex.canuse_qty + ORDER BY quality_day,late.produce_time,ex.canuse_qty + +