Browse Source

20241115

print/logistic/save
qiezi 2 years ago
parent
commit
58bb3085f1
  1. 14
      src/main/java/com/gaotao/modules/label/entity/PrintLabelRecord.java
  2. 66
      src/main/java/com/gaotao/modules/label/service/impl/PrintLabelRecordServiceImpl.java
  3. 7
      src/main/java/com/gaotao/modules/part/entity/ExternalPartCustomer.java
  4. 4
      src/main/java/com/gaotao/modules/part/entity/Part.java
  5. 3
      src/main/java/com/gaotao/modules/part/service/impl/PartServiceImpl.java
  6. 14
      src/main/resources/mapper/label/PrintLabelRecordMapper.xml
  7. 10
      src/main/resources/mapper/part/ExternalPartCustomerMapper.xml
  8. 10
      src/main/resources/mapper/part/PartMapper.xml

14
src/main/java/com/gaotao/modules/label/entity/PrintLabelRecord.java

@ -8,6 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;
@Data
@TableName("print_label_record")
@ -89,6 +90,17 @@ public class PrintLabelRecord {
@TableField(exist = false)
private String dateStr;
@TableField(exist = false)
private String templateNo;
private Integer printLabelType;// 0两种标签;1箱标签;2产品标签
@TableField(exist = false)
private Map<String,String> pictureMap;
@TableField(exist = false)
private String printStr1;
@TableField(exist = false)
private String printStr2;
@TableField(exist = false)
private String printStr3;
}

66
src/main/java/com/gaotao/modules/label/service/impl/PrintLabelRecordServiceImpl.java

@ -9,6 +9,8 @@ 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.part.entity.ExternalPartPicture;
import com.gaotao.modules.part.service.ExternalPartPictureService;
import com.gaotao.modules.sys.entity.SysUserEntity;
import com.gaotao.modules.sys.service.SysMsgService;
import lombok.extern.slf4j.Slf4j;
@ -19,12 +21,13 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.io.IOException;
import java.math.BigDecimal;
import java.nio.file.Files;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
@Service
@Slf4j
@ -33,6 +36,9 @@ public class PrintLabelRecordServiceImpl extends ServiceImpl<PrintLabelRecordMap
@Autowired
private SysMsgService sysMsgService;
@Autowired
private ExternalPartPictureService externalPartPictureService;
@Value("${label.boxNum}")
private int boxNum;
@ -75,11 +81,28 @@ public class PrintLabelRecordServiceImpl extends ServiceImpl<PrintLabelRecordMap
// 获得当前登录用户
SysUserEntity userEntity = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
// 判断是否需要打印SN
Map<String,String> pictureMap = new HashMap<>();
if ("Alpha/Hard Tag-Serials".equalsIgnoreCase(printLabelRecord.getCategory()) && "Y".equalsIgnoreCase(userEntity.getAutoSerialNumber())){
printLabelRecord.setCreateTime(new Date());
// 获取SN
list = baseMapper.autoCreateSerialNumber(printLabelRecord, cartonCount.intValue());
// 获取 认证
List<ExternalPartPicture> pictureList = externalPartPictureService.lambdaQuery()
.eq(ExternalPartPicture::getPartNo, printLabelRecord.getPartNo())
.eq(ExternalPartPicture::getSite, printLabelRecord.getSite())
.eq(ExternalPartPicture::getTemplateNo, printLabelRecord.getTemplateNo())
.eq(ExternalPartPicture::getPictureClassify, "ProPicture")
.list();
for (ExternalPartPicture picture : pictureList) {
// 通过URL转Base64
String pictureUrl = picture.getPictureUrl();
File file = new File(pictureUrl);
try {
pictureMap.put(picture.getPicturePosition(),"data:image/png;base64,"+encodeFileToBase64(file));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
// 打印张数
for (int i = 1; i <= cartonCount.intValue(); i++) {
@ -94,7 +117,8 @@ public class PrintLabelRecordServiceImpl extends ServiceImpl<PrintLabelRecordMap
if (!list.isEmpty()){
target.setSerialNumber(list.get(i-1).getSerialNumber());
target.setDateStr(list.get(i-1).getDateStr());
target.setPictureMap(pictureMap);
target.setDateStr(list.get(i-1).getDateStr());
}
save(target);
printLabelRecordList.add(target);
@ -102,9 +126,39 @@ public class PrintLabelRecordServiceImpl extends ServiceImpl<PrintLabelRecordMap
return printLabelRecordList;
}
public static String encodeFileToBase64(File file) throws IOException {
byte[] fileContent = Files.readAllBytes(file.toPath());
return Base64.getEncoder().encodeToString(fileContent);
}
@Override
public IPage<PrintLabelRecord> selectPrintLabelRecordPage(PrintLabelRecord printLabelRecord, Integer no, Integer size) {
Page<PrintLabelRecord> page = new Page<>(no, size);
return baseMapper.selectPrintLabelRecordPage(page,printLabelRecord);
IPage<PrintLabelRecord> iPage = baseMapper.selectPrintLabelRecordPage(page, printLabelRecord);
for (PrintLabelRecord record : iPage.getRecords()) {
if (!"Alpha/Hard Tag-Serials".equals(record.getCategory())){
continue;
}
// 获取 认证
List<ExternalPartPicture> pictureList = externalPartPictureService.lambdaQuery()
.eq(ExternalPartPicture::getPartNo, record.getPartNo())
.eq(ExternalPartPicture::getSite, record.getSite())
.eq(ExternalPartPicture::getTemplateNo, record.getTemplateNo())
.eq(ExternalPartPicture::getPictureClassify, "ProPicture")
.list();
Map<String,String> pictureMap = new HashMap<>();
for (ExternalPartPicture picture : pictureList) {
// 通过URL转Base64
String pictureUrl = picture.getPictureUrl();
File file = new File(pictureUrl);
try {
pictureMap.put(picture.getPicturePosition(),"data:image/png;base64,"+encodeFileToBase64(file));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
record.setPictureMap(pictureMap);
}
return iPage;
}
}

7
src/main/java/com/gaotao/modules/part/entity/ExternalPartCustomer.java

@ -91,4 +91,11 @@ public class ExternalPartCustomer {
@TableField(exist = false)
private Long itemNo;
@TableField(exist = false)
private String printStr1;
@TableField(exist = false)
private String printStr2;
@TableField(exist = false)
private String printStr3;
}

4
src/main/java/com/gaotao/modules/part/entity/Part.java

@ -69,4 +69,8 @@ public class Part {
private String tradingMark;
private Integer weightUmId;
private String printStr1;
private String printStr2;
private String printStr3;
}

3
src/main/java/com/gaotao/modules/part/service/impl/PartServiceImpl.java

@ -93,6 +93,9 @@ public class PartServiceImpl extends ServiceImpl<PartMapper, Part> implements Pa
.set(Part::getCartonWeight,part.getCartonWeight())
.set(Part::getTradingMark,part.getTradingMark())
.set(Part::getWeightUmId,part.getWeightUmId())
.set(Part::getPrintStr1,part.getPrintStr1())
.set(Part::getPrintStr2,part.getPrintStr2())
.set(Part::getPrintStr3,part.getPrintStr3())
.update();
}

14
src/main/resources/mapper/label/PrintLabelRecordMapper.xml

@ -30,7 +30,12 @@
p.carton_weight,
p.packing_weight,
wu.um_name as weight_um_name,
snl.date_str
snl.date_str,
plr.template_no,
plr.print_label_type,
print_str1,
print_str2,
print_str3
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
@ -93,7 +98,12 @@
p.carton_weight,
p.packing_weight,
wu.um_name as weight_um_name,
snl.date_str
snl.date_str,
plr.template_no,
plr.print_label_type,
print_str1,
print_str2,
print_str3
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

10
src/main/resources/mapper/part/ExternalPartCustomerMapper.xml

@ -40,7 +40,10 @@
p.carton_weight,
p.packing_weight,
p.trading_mark,
wu.um_name as weight_um_name
wu.um_name as weight_um_name,
p.print_str1,
p.print_str2,
p.print_str3
from part p
left join external_part_customer epc on epc.site = p.site and epc.part_no = p.part_no
left join customer c on epc.site = c.site and epc.customer_no = c.customer_no
@ -100,7 +103,10 @@
p.carton_weight,
p.packing_weight,
p.trading_mark,
wu.um_name as weight_um_name
wu.um_name as weight_um_name,
p.print_str1,
p.print_str2,
p.print_str3
from part p
left join external_part_customer epc on epc.site = p.site and epc.part_no = p.part_no
left join customer c on epc.site = c.site and epc.customer_no = c.customer_no

10
src/main/resources/mapper/part/PartMapper.xml

@ -30,7 +30,10 @@
packing_weight,
carton_weight,
weight_um_id,
wu.um_name as weightUmName
wu.um_name as weightUmName,
print_str1,
print_str2,
print_str3
from part p
left join unit u on p.um_id = u.um_id
left join unit wu on p.um_id = wu.um_id
@ -82,7 +85,10 @@
packing_weight,
carton_weight,
weight_um_id,
wu.um_name as weightUmName
wu.um_name as weightUmName,
print_str1,
print_str2,
print_str3
from part p
left join unit u on p.um_id = u.um_id
left join unit wu on p.weight_um_id = wu.um_id

Loading…
Cancel
Save