From 534ae33cd1cc5601097e7ead7599eaaf2f98139e Mon Sep 17 00:00:00 2001 From: qiezi <15576055375@163.com> Date: Tue, 5 Nov 2024 09:15:53 +0800 Subject: [PATCH] 20241105 --- .../java/com/gaotao/common/utils/GenDate.java | 5 ++-- .../label/entity/PrintLabelRecord.java | 3 +++ .../label/mapper/PrintLabelRecordMapper.java | 2 ++ .../impl/PrintLabelRecordServiceImpl.java | 23 ++++++++++++++++--- .../mapper/label/PrintLabelRecordMapper.xml | 17 +++++++++++--- 5 files changed, 42 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/gaotao/common/utils/GenDate.java b/src/main/java/com/gaotao/common/utils/GenDate.java index 266f74e..980520e 100644 --- a/src/main/java/com/gaotao/common/utils/GenDate.java +++ b/src/main/java/com/gaotao/common/utils/GenDate.java @@ -1,10 +1,11 @@ package com.gaotao.common.utils; +import java.time.LocalDate; import java.time.temporal.ChronoUnit; public class GenDate { - public static String dateToJuLian(java.time.LocalDate currentDate) { - java.time.LocalDate excelStartDate = java.time.LocalDate.of(1904, 1, 1); + public static String dateToJuLian(LocalDate currentDate) { + LocalDate excelStartDate = LocalDate.of(1904, 1, 1); long days = ChronoUnit.DAYS.between(excelStartDate, currentDate); int excelDate = (int) days; return excelDate+"09"; diff --git a/src/main/java/com/gaotao/modules/label/entity/PrintLabelRecord.java b/src/main/java/com/gaotao/modules/label/entity/PrintLabelRecord.java index 77fe556..1588ac4 100644 --- a/src/main/java/com/gaotao/modules/label/entity/PrintLabelRecord.java +++ b/src/main/java/com/gaotao/modules/label/entity/PrintLabelRecord.java @@ -85,4 +85,7 @@ public class PrintLabelRecord { private String tradingMark; @TableField(exist = false) private String weightUmName; + + @TableField(exist = false) + private String dateStr; } diff --git a/src/main/java/com/gaotao/modules/label/mapper/PrintLabelRecordMapper.java b/src/main/java/com/gaotao/modules/label/mapper/PrintLabelRecordMapper.java index f3cbc75..97cde09 100644 --- a/src/main/java/com/gaotao/modules/label/mapper/PrintLabelRecordMapper.java +++ b/src/main/java/com/gaotao/modules/label/mapper/PrintLabelRecordMapper.java @@ -16,4 +16,6 @@ public interface PrintLabelRecordMapper extends BaseMapper { List selectPrintLabelRecordList(PrintLabelRecord printLabelRecord); IPage selectPrintLabelRecordPage(@Param("page") Page page, @Param("params") PrintLabelRecord printLabelRecord); + + List autoCreateSerialNumber(@Param("params") PrintLabelRecord printLabelRecord,@Param("qty") int i); } diff --git a/src/main/java/com/gaotao/modules/label/service/impl/PrintLabelRecordServiceImpl.java b/src/main/java/com/gaotao/modules/label/service/impl/PrintLabelRecordServiceImpl.java index 86e51d8..5957508 100644 --- a/src/main/java/com/gaotao/modules/label/service/impl/PrintLabelRecordServiceImpl.java +++ b/src/main/java/com/gaotao/modules/label/service/impl/PrintLabelRecordServiceImpl.java @@ -5,11 +5,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gaotao.common.constant.SysMsgConstant; import com.gaotao.common.utils.GenDate; +import com.gaotao.modules.app.entity.UserEntity; import com.gaotao.modules.label.entity.PrintLabelRecord; import com.gaotao.modules.label.mapper.PrintLabelRecordMapper; import com.gaotao.modules.label.service.PrintLabelRecordService; +import com.gaotao.modules.sys.entity.SysUserEntity; import com.gaotao.modules.sys.service.SysMsgService; import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -67,9 +70,19 @@ public class PrintLabelRecordServiceImpl extends ServiceImpl printLabelRecordList = new ArrayList<>(); -// BigDecimal remainder = printLabelRecord.getCartonCount().remainder(printLabelRecord.getQtyPerCarton()); - for (int j = 1; j <= cartonCount.intValue(); j++) { - boxNoSerial = boxNumber + j; + + List list = new ArrayList<>(); + // 获得当前登录用户 + SysUserEntity userEntity = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); + // 判断是否需要打印SN + if ("Alpha/Hard Tag-Serials".equalsIgnoreCase(printLabelRecord.getCategory()) && "Y".equalsIgnoreCase(userEntity.getAutoSerialNumber())){ + printLabelRecord.setCreateTime(new Date()); + // 获取SN + list = baseMapper.autoCreateSerialNumber(printLabelRecord, cartonCount.intValue()); + } + // 打印张数 + for (int i = 1; i <= cartonCount.intValue(); i++) { + boxNoSerial = boxNumber + i; printLabelRecord.setBoxNo(buNoDate+String.format("%0"+boxNum+"d", boxNoSerial)); LocalDate localDate = LocalDate.of(printLabelRecord.getManufacturerTime().getYear() + 1900, printLabelRecord.getManufacturerTime().getMonth()+1,printLabelRecord.getManufacturerTime().getDate()); @@ -77,6 +90,10 @@ public class PrintLabelRecordServiceImpl extends ServiceImpl - @@ -30,12 +29,16 @@ p.trading_mark, p.carton_weight, p.packing_weight, - wu.um_name as weight_um_name + wu.um_name as weight_um_name, + snl.date_str from print_label_Record plr left join part p on p.part_no = plr.part_no and p.site = plr.site left join customer c on c.site = plr.site and c.customer_no = plr.customer_no left join unit u on p.um_id = u.um_id left join unit wu on p.weight_um_id = wu.um_id + left join serial_number_list snl on snl.part_no = plr.part_no and snl.site = plr.site and + snl.serial_number = plr.serial_number and + snl.category = plr.category and plr.site = #{site} @@ -89,12 +92,16 @@ p.trading_mark, p.carton_weight, p.packing_weight, - wu.um_name as weight_um_name + wu.um_name as weight_um_name, + snl.date_str from print_label_Record plr left join part p on p.part_no = plr.part_no and p.site = plr.site left join customer c on c.site = plr.site and c.customer_no = plr.customer_no left join unit u on p.um_id = u.um_id left join unit wu on p.weight_um_id = wu.um_id + left join serial_number_list snl on snl.part_no = plr.part_no and snl.site = plr.site and + snl.serial_number = plr.serial_number and + snl.category = plr.category and plr.site = #{params.site} @@ -120,4 +127,8 @@ order by plr.create_time desc + + \ No newline at end of file