|
@@ -73,20 +73,16 @@ public class WaterTagServiceImpl extends ServiceImpl<WaterTagMapper, WaterTag> i
|
|
|
|
|
|
if (waterTag != null) {
|
|
|
Integer number = waterTag.getNumber();
|
|
|
-
|
|
|
- for (int integer = 0; integer < num; integer++) {
|
|
|
- number++;
|
|
|
+ for (int i = 1; i <= num; i++) {
|
|
|
WaterTag waterTagTemp = createWaterTag(waterTag.getMaterialId(), quantity, waterTag.getPrice(),
|
|
|
- waterTag.getWaterBatchId(), waterTag.getWaterBatchCode(), number);
|
|
|
+ waterTag.getWaterBatchId(), waterTag.getWaterBatchCode(), number + i);
|
|
|
waterTagList.add(waterTagTemp);
|
|
|
}
|
|
|
-
|
|
|
} else {
|
|
|
WaterBatch waterBatch = waterBatchService.getById(waterBatchId);
|
|
|
for (int i = 1; i <= num; i++) {
|
|
|
WaterTag waterTagTemp = createWaterTag(waterBatch.getMaterialId(), quantity, waterBatch.getPrice(),
|
|
|
waterBatch.getId(), waterBatch.getCode(), i);
|
|
|
-
|
|
|
waterTagList.add(waterTagTemp);
|
|
|
}
|
|
|
}
|
|
@@ -94,31 +90,11 @@ public class WaterTagServiceImpl extends ServiceImpl<WaterTagMapper, WaterTag> i
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void printer(List<Long> tagIdList) {
|
|
|
- update(Wrappers.<WaterTag>lambdaUpdate()
|
|
|
- .in(StorageBaseEntity::getId, tagIdList)
|
|
|
- .set(WaterTag::getHadPrinter, StatusConstant.YES)
|
|
|
- .set(StorageBaseEntity::getUpdateTime, new Date())
|
|
|
- .set(StorageBaseEntity::getUpdateUser, AuthUtil.getUserId())
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void bindingRfid(Long id, String rfidCode) {
|
|
|
- update(Wrappers.<WaterTag>lambdaUpdate()
|
|
|
- .eq(StorageBaseEntity::getId, id)
|
|
|
- .set(WaterTag::getRfidCode, rfidCode)
|
|
|
- .set(WaterTag::getLabelUserId, AuthUtil.getUserId())
|
|
|
- .set(StorageBaseEntity::getUpdateTime, new Date())
|
|
|
- .set(StorageBaseEntity::getUpdateUser, AuthUtil.getUserId())
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
public void uploadTag(MultipartFile file, Long waterBatchId) {
|
|
|
|
|
|
Assert.notEmpty(waterBatchId, "批次id不能为空");
|
|
|
|
|
|
+
|
|
|
List<BigDecimal> quantityList = getQuantityListByExcel(file);
|
|
|
|
|
|
Assert.gtZero(quantityList.size(), "导入标签数量为空");
|
|
@@ -128,30 +104,66 @@ public class WaterTagServiceImpl extends ServiceImpl<WaterTagMapper, WaterTag> i
|
|
|
List<WaterTag> waterTagList = new ArrayList<>();
|
|
|
|
|
|
if (waterTag != null) {
|
|
|
- Integer number = waterTag.getNumber();
|
|
|
+ Integer number = waterTag.getNumber() + 1;
|
|
|
|
|
|
for (BigDecimal quantity : quantityList) {
|
|
|
- number++;
|
|
|
WaterTag waterTagTemp = createWaterTag(waterTag.getMaterialId(), quantity, waterTag.getPrice(),
|
|
|
waterTag.getWaterBatchId(), waterTag.getWaterBatchCode(), number);
|
|
|
+ number++;
|
|
|
waterTagList.add(waterTagTemp);
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
WaterBatch waterBatch = waterBatchService.getById(waterBatchId);
|
|
|
- for (int i = 1; i <= quantityList.size(); i++) {
|
|
|
- WaterTag waterTagTemp = createWaterTag(waterBatch.getMaterialId(), quantityList.get(i), waterBatch.getPrice(),
|
|
|
- waterBatch.getId(), waterBatch.getCode(), i);
|
|
|
|
|
|
+ int number = 1;
|
|
|
+
|
|
|
+ for (BigDecimal quantity : quantityList) {
|
|
|
+ WaterTag waterTagTemp = createWaterTag(waterBatch.getMaterialId(), quantity, waterBatch.getPrice(),
|
|
|
+ waterBatch.getId(), waterBatch.getCode(), number);
|
|
|
+ number++;
|
|
|
waterTagList.add(waterTagTemp);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
saveBatch(waterTagList);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void printer(List<Long> tagIdList) {
|
|
|
+ update(Wrappers.<WaterTag>lambdaUpdate()
|
|
|
+ .in(StorageBaseEntity::getId, tagIdList)
|
|
|
+ .set(WaterTag::getHadPrinter, StatusConstant.YES)
|
|
|
+ .set(StorageBaseEntity::getUpdateTime, new Date())
|
|
|
+ .set(StorageBaseEntity::getUpdateUser, AuthUtil.getUserId())
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void shipment(Long waterBatchId) {
|
|
|
+ update(Wrappers.<WaterTag>lambdaUpdate()
|
|
|
+ .eq(WaterTag::getWaterBatchId, waterBatchId)
|
|
|
+ .set(WaterTag::getHadShipment, StatusConstant.YES)
|
|
|
+ .set(WaterTag::getPurchaseProgress, PurchaseProgressEnum.SHIPMENT.getType())
|
|
|
+ .set(StorageBaseEntity::getUpdateTime, new Date())
|
|
|
+ .set(StorageBaseEntity::getUpdateUser, AuthUtil.getUserId())
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void bindingRfid(Long id, String rfidCode) {
|
|
|
+ update(Wrappers.<WaterTag>lambdaUpdate()
|
|
|
+ .eq(StorageBaseEntity::getId, id)
|
|
|
+ .set(WaterTag::getRfidCode, rfidCode)
|
|
|
+ .set(WaterTag::getPurchaseProgress, PurchaseProgressEnum.LABELING.getType())
|
|
|
+ .set(WaterTag::getLabelUserId, AuthUtil.getUserId())
|
|
|
+ .set(StorageBaseEntity::getUpdateTime, new Date())
|
|
|
+ .set(StorageBaseEntity::getUpdateUser, AuthUtil.getUserId())
|
|
|
+ );
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- * 解析文件中的数据
|
|
|
+ * 解析excel文件中的数据
|
|
|
*/
|
|
|
private List<BigDecimal> getQuantityListByExcel(MultipartFile file) {
|
|
|
|
|
@@ -164,22 +176,18 @@ public class WaterTagServiceImpl extends ServiceImpl<WaterTagMapper, WaterTag> i
|
|
|
String filename = file.getOriginalFilename();
|
|
|
assert filename != null;
|
|
|
|
|
|
-
|
|
|
if (filename.endsWith(".xls")) {
|
|
|
workbook = new XSSFWorkbook(inputStream);
|
|
|
- }
|
|
|
-
|
|
|
- if (filename.endsWith(".xlsx")) {
|
|
|
+ } else if (filename.endsWith(".xlsx")) {
|
|
|
workbook = new XSSFWorkbook(inputStream);
|
|
|
- }
|
|
|
- if (workbook == null) {
|
|
|
- throw new Exception();
|
|
|
+ } else {
|
|
|
+ throw new ServiceException("文件格式错误");
|
|
|
}
|
|
|
|
|
|
|
|
|
Sheet sheet = workbook.getSheetAt(0);
|
|
|
if (sheet == null) {
|
|
|
- throw new Exception();
|
|
|
+ throw new ServiceException("excel表格读取失败");
|
|
|
}
|
|
|
|
|
|
|
|
@@ -201,10 +209,10 @@ public class WaterTagServiceImpl extends ServiceImpl<WaterTagMapper, WaterTag> i
|
|
|
Cell cell = row.getCell(column);
|
|
|
if (cell != null) {
|
|
|
cell.setCellType(CellType.STRING);
|
|
|
- BigDecimal bigDecimal = Convert.toBigDecimal(cell.getStringCellValue().trim());
|
|
|
- if (bigDecimal != null && bigDecimal.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ BigDecimal quantity = Convert.toBigDecimal(cell.getStringCellValue().trim());
|
|
|
+ if (quantity != null && quantity.compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
|
|
- quantityList.add(bigDecimal);
|
|
|
+ quantityList.add(quantity);
|
|
|
}
|
|
|
}
|
|
|
}
|