|
|
@@ -1057,8 +1057,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
baseMapper.insert(submitDto);
|
|
|
//结余数量
|
|
|
BigDecimal balanceNumber = new BigDecimal(0);
|
|
|
- //结余金额
|
|
|
- BigDecimal balanceMoney = new BigDecimal(0);
|
|
|
//明细品名集合
|
|
|
List<String> goodsName = new ArrayList<>();
|
|
|
//判断明细是否为空
|
|
|
@@ -1099,8 +1097,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderItems.setBalanceNumber(orderItems.getStorageInQuantity());
|
|
|
orderItemsMapper.insert(orderItems);
|
|
|
balanceNumber = balanceNumber.add(orderItems.getStorageInQuantity());
|
|
|
- balanceMoney = balanceMoney.add(orderItems.getStorageAmount());
|
|
|
- goodsName.add(orderItems.getCname());
|
|
|
+ goodsName.add(orderItems.getGoodsName());
|
|
|
}
|
|
|
}
|
|
|
//明细品名去重
|
|
|
@@ -1112,8 +1109,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
submitDto.setUpdateUser(AuthUtil.getUserId());
|
|
|
submitDto.setUpdateTime(new Date());
|
|
|
submitDto.setStorageQuantity(balanceNumber);//入库量
|
|
|
- submitDto.setStorageAmount(balanceMoney);//入库金额
|
|
|
- submitDto.setSpecialRemarks(goodsName.toString());//明细品名
|
|
|
+ submitDto.setSpecialRemarks(String.join(",", goodsName));//明细品名
|
|
|
baseMapper.updateById(submitDto);
|
|
|
return R.data(submitDto);
|
|
|
}
|
|
|
@@ -1133,8 +1129,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
submitDto.setTradeType(OrderTypeEnum.WOOD_HARVESTING_CLOUD.getType());//类型
|
|
|
//结余数量
|
|
|
BigDecimal balanceNumber = new BigDecimal(0);
|
|
|
- //结余金额
|
|
|
- BigDecimal balanceMoney = new BigDecimal(0);
|
|
|
//明细品名集合
|
|
|
List<String> goodsName = new ArrayList<>();
|
|
|
//明细是否为空
|
|
|
@@ -1192,8 +1186,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderItemsMapper.insert(orderItems);
|
|
|
}
|
|
|
balanceNumber = balanceNumber.add(orderItems.getStorageInQuantity());
|
|
|
- balanceMoney = balanceMoney.add(orderItems.getStorageAmount());
|
|
|
- goodsName.add(orderItems.getCname());
|
|
|
+ goodsName.add(orderItems.getGoodsName());
|
|
|
}
|
|
|
}
|
|
|
//明细品名去重
|
|
|
@@ -1205,8 +1198,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
submitDto.setUpdateUser(AuthUtil.getUserId());
|
|
|
submitDto.setUpdateTime(new Date());
|
|
|
submitDto.setStorageQuantity(balanceNumber);//入库量
|
|
|
- submitDto.setStorageAmount(balanceMoney);//入库金额
|
|
|
- submitDto.setSpecialRemarks(goodsName.toString());//明细品名
|
|
|
+ submitDto.setSpecialRemarks(String.join(",", goodsName));//明细品名
|
|
|
baseMapper.updateById(submitDto);
|
|
|
return R.data(submitDto);
|
|
|
}
|
|
|
@@ -1249,8 +1241,6 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
//结余数量
|
|
|
BigDecimal balanceNumber = new BigDecimal(0);
|
|
|
- //结余金额
|
|
|
- BigDecimal balanceMoney = new BigDecimal(0);
|
|
|
//明细品名集合
|
|
|
List<String> goodsName = new ArrayList<>();
|
|
|
|
|
|
@@ -1305,7 +1295,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
orderItems.setCreateUserName(AuthUtil.getUserName());
|
|
|
orderItemsMapper.insert(orderItems);
|
|
|
}
|
|
|
- goodsName.add(orderItems.getCname());
|
|
|
+ balanceNumber = balanceNumber.add(orderItems.getStorageInQuantity());
|
|
|
+ goodsName.add(orderItems.getGoodsName());
|
|
|
}
|
|
|
}
|
|
|
//明细品名去重
|
|
|
@@ -1317,8 +1308,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
submitDto.setUpdateUser(AuthUtil.getUserId());
|
|
|
submitDto.setUpdateTime(new Date());
|
|
|
submitDto.setStorageQuantity(balanceNumber);//入库量
|
|
|
- submitDto.setStorageAmount(balanceMoney);//入库金额
|
|
|
- submitDto.setSpecialRemarks(goodsName.toString());//明细品名
|
|
|
+ submitDto.setSpecialRemarks(String.join(",", goodsName));//明细品名
|
|
|
baseMapper.updateById(submitDto);
|
|
|
return R.data(submitDto);
|
|
|
}
|
|
|
@@ -1346,7 +1336,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
//获取单据明细
|
|
|
LambdaQueryWrapper<OrderItems> orderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
orderItemsLambdaQueryWrapper
|
|
|
- .eq(OrderItems::getGoodType, 0)
|
|
|
+ .eq(OrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(OrderItems::getPid, salesOrder.getId())
|
|
|
.eq(OrderItems::getIsDeleted, 0);
|
|
|
List<OrderItems> orderItems = orderItemsMapper.selectList(orderItemsLambdaQueryWrapper);
|
|
|
@@ -1378,7 +1368,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
|
|
|
auditProecessDTO.setProcessType("盘点审批");
|
|
|
|
|
|
- salesOrder.setStatus(1);
|
|
|
+ salesOrder.setStatus(3);
|
|
|
|
|
|
/* 出库 第一次 审批流程 */
|
|
|
} else if (OrderTypeEnum.OUT_WAREHOUSING.getType().equals(salesOrder.getBillType()) && checkFlag == 2 && order.getStatus() == 0) {
|
|
|
@@ -1460,71 +1450,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
order.setOrderItemsList(orderItems);
|
|
|
auditProecessDTO.setOrderQuantity(orderItems.stream().map(OrderItems::getOrderQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
auditProecessDTO.setAmount(orderItems.stream().map(OrderItems::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- //判断是否是入库,入库需要生成条形码,二维码
|
|
|
- if (OrderTypeEnum.WAREHOUSING.getType().equals(salesOrder.getBillType())) {
|
|
|
- //仓库
|
|
|
- StorageType storageType = iStorageClient.getStorageType(salesOrder.getStorageId());
|
|
|
- if (ObjectUtils.isNotNull(storageType)) {
|
|
|
- salesOrder.setStorageName(storageType.getCname());
|
|
|
- }
|
|
|
- //货权人
|
|
|
- R<CorpsDesc> corpsDesc = corpsDescClient.getCorpMessage(salesOrder.getPurchaserId());
|
|
|
- if (corpsDesc.isSuccess()) {
|
|
|
- salesOrder.setPurchaser(corpsDesc.getData().getCname());
|
|
|
- }
|
|
|
- //生成条形码,二维码图片
|
|
|
- for (OrderItems item : orderItems) {
|
|
|
- try {
|
|
|
- //创建文件夹
|
|
|
- File packageFile = new File("/home/minio/file/673511-bladex/upload");
|
|
|
- //文件夹是否创建成功
|
|
|
- if (!packageFile.getParentFile().exists()) {
|
|
|
- boolean a = packageFile.mkdirs();
|
|
|
- if (a) {
|
|
|
- System.out.println("文件夹创建成功");
|
|
|
- } else {
|
|
|
- System.out.println("文件夹创建失败");
|
|
|
- }
|
|
|
- }
|
|
|
- //创建条形码图片
|
|
|
- File oneFile = new File(packageFile, item.getBillNo() + "捆包号.png");
|
|
|
- oneFile.createNewFile();
|
|
|
- //创建二维码图片
|
|
|
- File qRCodeFile = new File(packageFile, item.getBillNo() + "货物明细.png");
|
|
|
- qRCodeFile.createNewFile();
|
|
|
- //生成条形码
|
|
|
- String oneCode = BarCodeTest.generateCode(oneFile, item.getBillNo(), 500, 250);
|
|
|
- //替换地址
|
|
|
- oneCode = oneCode.replace("/home/minio", "http://121.37.83.47");
|
|
|
- item.setOneCode(oneCode);
|
|
|
- //获取品名
|
|
|
- R<GoodsDescVO> goodsMessage = goodsDescClient.selectGoodsMessage(item.getItemId());
|
|
|
- //二维码数据
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("purchaser", salesOrder.getPurchaser());
|
|
|
- map.put("billNo", item.getBillNo());
|
|
|
- map.put("stockTime", salesOrder.getStockTime());
|
|
|
- map.put("storageName", salesOrder.getStorageName());
|
|
|
- if (goodsMessage.isSuccess() && goodsMessage.getData() != null) {
|
|
|
- map.put("goodsName", goodsMessage.getData().getCname());
|
|
|
- }
|
|
|
- map.put("balanceNumber", item.getBalanceNumber());
|
|
|
- map.put("length", item.getLength());
|
|
|
- map.put("thickness", item.getThickness());
|
|
|
- map.put("remarks", item.getRemarks());
|
|
|
- map.put("itemId", item.getId());
|
|
|
- map.put("orderId", item.getPid());
|
|
|
- //生成二维码
|
|
|
- String qRCode = QRCodeTest.generateQRCode(qRCodeFile, JSONObject.toJSONString(map));
|
|
|
- //替换地址
|
|
|
- qRCode = qRCode.replace("/home/minio", "http://121.37.83.47");
|
|
|
- item.setQrCode(qRCode);
|
|
|
- orderItemsMapper.updateById(item);
|
|
|
- } catch (IOException e) {
|
|
|
- throw new SecurityException("生成码失败");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
} else {
|
|
|
auditProecessDTO.setOrderQuantity(BigDecimal.ZERO);
|
|
|
auditProecessDTO.setAmount(BigDecimal.ZERO);
|
|
|
@@ -1677,12 +1603,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
RKOrderItems.setBalanceNumber(orderItems.getInventory());
|
|
|
RKOrderItems.setBalanceMoney(orderItems.getBalanceMoney());
|
|
|
RKOrderItems.setSurplusLoss(orderItems.getSurplusLoss());
|
|
|
- if (RKOrderItems.getIsIssue().equals("6")) {
|
|
|
- throw new SecurityException("捆包号:" + RKOrderItems.getBillNo() + "已出库");
|
|
|
+ if (orderItems.getIsIssue().equals("6")) {
|
|
|
+ throw new SecurityException("捆包号:" + orderItems.getBillNo() + "已出库");
|
|
|
}
|
|
|
orderItemsMapper.updateById(RKOrderItems);
|
|
|
}
|
|
|
- order.setStatus(3);
|
|
|
+ order.setStatus(5);
|
|
|
order.setOrderStatus("审批通过");
|
|
|
}
|
|
|
baseMapper.updateById(order);
|
|
|
@@ -1710,7 +1636,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
}
|
|
|
//盘点审批中
|
|
|
} else if (OrderTypeEnum.INVENTORY.getType().equals(order.getBillType())) {
|
|
|
- order.setStatus(2);
|
|
|
+ order.setStatus(4);
|
|
|
} else {
|
|
|
throw new SecurityException("审批失败");
|
|
|
}
|
|
|
@@ -2041,16 +1967,87 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
|
|
|
- public boolean withdraw(Long id, String type, int status, String isIssue, String toolType,String scanningComparison) {
|
|
|
+ public boolean withdraw(Long id, String type, int status, String isIssue, String toolType, String scanningComparison) {
|
|
|
Order order = baseMapper.selectById(id);
|
|
|
if (OrderTypeEnum.WAREHOUSING.getType().equals(type)) {
|
|
|
if ("app".equals(toolType)) {
|
|
|
if (3 == order.getStatus()) {
|
|
|
throw new SecurityException("已提交审核,撤回失败");
|
|
|
}
|
|
|
+ //修改明细状态
|
|
|
+ orderItemsService.updateByPId(id, isIssue);
|
|
|
+ } else {
|
|
|
+ //获取单据明细
|
|
|
+ LambdaQueryWrapper<OrderItems> orderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ orderItemsLambdaQueryWrapper
|
|
|
+ .eq(OrderItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(OrderItems::getPid, order.getId())
|
|
|
+ .eq(OrderItems::getIsDeleted, 0);
|
|
|
+ List<OrderItems> orderItems = orderItemsMapper.selectList(orderItemsLambdaQueryWrapper);
|
|
|
+ //入库需要生成条形码,二维码
|
|
|
+ //仓库
|
|
|
+ StorageType storageType = iStorageClient.getStorageType(order.getStorageId());
|
|
|
+ if (ObjectUtils.isNotNull(storageType)) {
|
|
|
+ order.setStorageName(storageType.getCname());
|
|
|
+ }
|
|
|
+ //货权人
|
|
|
+ R<CorpsDesc> corpsDesc = corpsDescClient.getCorpMessage(order.getPurchaserId());
|
|
|
+ if (corpsDesc.isSuccess()) {
|
|
|
+ order.setPurchaser(corpsDesc.getData().getCname());
|
|
|
+ }
|
|
|
+ //生成条形码,二维码图片
|
|
|
+ for (OrderItems item : orderItems) {
|
|
|
+ try {
|
|
|
+ //创建文件夹
|
|
|
+ File packageFile = new File("/home/minio/file/673511-bladex/upload");
|
|
|
+ //文件夹是否创建成功
|
|
|
+ if (!packageFile.getParentFile().exists()) {
|
|
|
+ boolean a = packageFile.mkdirs();
|
|
|
+ if (a) {
|
|
|
+ System.out.println("文件夹创建成功");
|
|
|
+ } else {
|
|
|
+ System.out.println("文件夹创建失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //创建条形码图片
|
|
|
+ File oneFile = new File(packageFile, item.getBillNo() + "捆包号.png");
|
|
|
+ oneFile.createNewFile();
|
|
|
+ //创建二维码图片
|
|
|
+ File qRCodeFile = new File(packageFile, item.getBillNo() + "货物明细.png");
|
|
|
+ qRCodeFile.createNewFile();
|
|
|
+ //生成条形码
|
|
|
+ String oneCode = BarCodeTest.generateCode(oneFile, item.getBillNo(), 500, 250);
|
|
|
+ //替换地址
|
|
|
+ oneCode = oneCode.replace("/home/minio", "http://121.37.83.47");
|
|
|
+ item.setOneCode(oneCode);
|
|
|
+ //获取品名
|
|
|
+ R<GoodsDescVO> goodsMessage = goodsDescClient.selectGoodsMessage(item.getItemId());
|
|
|
+ //二维码数据
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("purchaser", order.getPurchaser());
|
|
|
+ map.put("billNo", item.getBillNo());
|
|
|
+ map.put("stockTime", order.getStockTime());
|
|
|
+ map.put("storageName", order.getStorageName());
|
|
|
+ if (goodsMessage.isSuccess() && goodsMessage.getData() != null) {
|
|
|
+ map.put("goodsName", goodsMessage.getData().getCname());
|
|
|
+ }
|
|
|
+ map.put("balanceNumber", item.getBalanceNumber());
|
|
|
+ map.put("length", item.getLength());
|
|
|
+ map.put("thickness", item.getThickness());
|
|
|
+ map.put("itemId", item.getId());
|
|
|
+ map.put("orderId", item.getPid());
|
|
|
+ //生成二维码
|
|
|
+ String qRCode = QRCodeTest.generateQRCode(qRCodeFile, JSONObject.toJSONString(map));
|
|
|
+ //替换地址
|
|
|
+ qRCode = qRCode.replace("/home/minio", "http://121.37.83.47");
|
|
|
+ item.setQrCode(qRCode);
|
|
|
+ item.setIsIssue(isIssue);
|
|
|
+ orderItemsMapper.updateById(item);
|
|
|
+ } catch (IOException e) {
|
|
|
+ throw new SecurityException("生成码失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- //修改明细状态
|
|
|
- orderItemsService.updateByPId(id, isIssue);
|
|
|
} else if (OrderTypeEnum.OUT_WAREHOUSING.getType().equals(type)) {
|
|
|
if ("app".equals(toolType)) {
|
|
|
if (3 == order.getStatus()) {
|