diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/BarcodePrintingController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/BarcodePrintingController.java index eaa94c42..6af8721f 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/BarcodePrintingController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/BarcodePrintingController.java @@ -12,6 +12,7 @@ import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.dto.BarcodePrintingAddDTO; import com.nflg.wms.common.pojo.dto.DeliverNormalOrderItemDTO; +import com.nflg.wms.common.pojo.qo.BarcodePrintingAddQO; import com.nflg.wms.common.pojo.qo.BarcodePrintingEditQO; import com.nflg.wms.common.pojo.qo.BarcodePrintingIdsQO; import com.nflg.wms.common.pojo.qo.BarcodePrintingQO; @@ -28,9 +29,12 @@ import com.nflg.wms.starter.service.FileUploadService; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.Valid; +import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.extern.slf4j.Slf4j; import org.springframework.core.io.ClassPathResource; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -43,7 +47,8 @@ import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; import java.net.URL; -import java.text.DecimalFormat; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; @@ -56,14 +61,13 @@ import java.util.*; @RestController @RequestMapping("/barcode") public class BarcodePrintingController extends BaseController { + @Resource private IWmsInventoryBarcodePrintingService printingService; @Resource private FileUploadService fileUploadService; - private static final DecimalFormat DF = new DecimalFormat("0.00"); - /** * 列表 */ @@ -78,8 +82,8 @@ public class BarcodePrintingController extends BaseController { */ @PostMapping("items") @ApiMark(moduleName = "仓储物流打印", apiName = "获取编辑记录") - public ApiResult> getItems(@Valid @RequestBody BarcodePrintingIdsQO request) { - List items = printingService.listByIds(request.getIds()); + public ApiResult> getItems(@Valid @RequestBody @NotEmpty List ids) { + List items = printingService.listByIds(ids); List vos = new ArrayList<>(); if (CollectionUtil.isNotEmpty(items)) { vos = Convert.toList(BarcodePrintingVO.class, items); @@ -92,11 +96,8 @@ public class BarcodePrintingController extends BaseController { */ @PostMapping("delete") @ApiMark(moduleName = "仓储物流打印", apiName = "批量删除记录") - public ApiResult deleteBarcodes(@Valid @RequestBody BarcodePrintingIdsQO request) { - if (CollectionUtil.isEmpty(request.getIds())) { - VUtil.trueThrowBusinessError(true).throwMessage("没有需要删除的数据"); - } - printingService.removeByIds(request.getIds()); + public ApiResult deleteBarcodes(@Valid @RequestBody @NotEmpty List ids) { + printingService.removeByIds(ids); return ApiResult.success(); } @@ -125,6 +126,18 @@ public class BarcodePrintingController extends BaseController { return ApiResult.success(); } + /** + * 导出模板 + */ + @GetMapping("export") + public void exportKit(HttpServletResponse response) throws Exception { + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + URLEncoder.encode("库存物料打印导入模板.xlsx", StandardCharsets.UTF_8)); + new Workbook() + .addSheet(new ListSheet<>(List.of(new BarcodePrintingAddQO()))) + .writeTo(response.getOutputStream()); + } + /** * 导入物料清单 * @param file 文件 @@ -157,7 +170,10 @@ public class BarcodePrintingController extends BaseController { if (!errorBuild.isEmpty()) { item.setError(errorBuild.toString()); } else { - codes.add(Convert.convert(WmsInventoryBarcodePrinting.class, item)); + WmsInventoryBarcodePrinting entity = Convert.convert(WmsInventoryBarcodePrinting.class, item); + entity.setCreateBy(UserUtil.getUserName()); + entity.setCreateTime(LocalDateTime.now()); + codes.add(entity); } } if (data.stream().noneMatch(it -> StrUtil.isNotBlank(it.getError())) @@ -180,9 +196,9 @@ public class BarcodePrintingController extends BaseController { } private String generateQRContent(DeliverNormalOrderItemDTO order, String indexNo) { - String content = StrUtil.format("{}${}${}${}${}${}${}${}" + String content = StrUtil.format("{}${}${}${}${}${}${}${}${}" , order.getPrintNo(), order.getExternalOrderNo(), order.getRowNo(), order.getMaterialNo(), order.getPrintNum() - , order.getMaterialDesc(), order.getBatchNo(), Optional.ofNullable(indexNo).orElse("")); + , order.getMaterialDesc(), "", order.getBatchNo(), Optional.ofNullable(indexNo).orElse("")); log.debug("二维码内容:" + content); return content; } diff --git a/nflg-wms-repository/src/main/resources/mapper/WmsInventoryBarcodePrintingMapper.xml b/nflg-wms-repository/src/main/resources/mapper/WmsInventoryBarcodePrintingMapper.xml index 75a305d7..65f28bbe 100644 --- a/nflg-wms-repository/src/main/resources/mapper/WmsInventoryBarcodePrintingMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/WmsInventoryBarcodePrintingMapper.xml @@ -19,22 +19,22 @@ FROM wms_inventory_barcode_printing - + AND material_no IN #{materialNo} - + AND batch_number IN #{batchNo} - - AND serial_numbers LIKE CONCAT('%', #{serialNumber}, '%') + + AND serial_numbers LIKE CONCAT('%', #{request.serialNumber}, '%') AND material_des LIKE CONCAT('%', #{request.materialDes}, '%')