成品检验2.1

master
zhaoxiaolin 9 months ago
parent 0d71cfde99
commit 55d9b46a18

@ -1153,22 +1153,23 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
public int insertWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch) { public int insertWorkOrderBatch(ProOrderWorkorderBatch proOrderWorkorderBatch) {
String workOrderCode = proOrderWorkorderBatch.getWorkorderCode(); String workOrderCode = proOrderWorkorderBatch.getWorkorderCode();
String username = SecurityUtils.getUsername(); String username = SecurityUtils.getUsername();
Long newBatchQuantity = proOrderWorkorderBatch.getNewBatchQuantity();
if (newBatchQuantity == null) {
return 0;
}
List<ProOrderWorkorder> workOrders = proOrderWorkorderMapper.selectWorkOrderIdByBatch(workOrderCode); List<ProOrderWorkorder> workOrders = proOrderWorkorderMapper.selectWorkOrderIdByBatch(workOrderCode);
// 系数
Long coefficient = 1L;
if(workOrders.size()==2){
// 获取子母工单数量 // 获取子母工单数量
Optional<Long> pQuantity = workOrders.stream().filter(item -> "0".equals(item.getParentOrder())) Optional<Long> pQuantity = workOrders.stream().filter(item -> "0".equals(item.getParentOrder()))
.findFirst().map(ProOrderWorkorder::getQuantitySplit); .findFirst().map(ProOrderWorkorder::getQuantitySplit);
Optional<Long> cQuantity = workOrders.stream().filter(item -> !"0".equals(item.getParentOrder())) Optional<Long> cQuantity = workOrders.stream().filter(item -> !"0".equals(item.getParentOrder()))
.findFirst().map(ProOrderWorkorder::getQuantitySplit); .findFirst().map(ProOrderWorkorder::getQuantitySplit);
// 系数
Long coefficient = 0L;
if (pQuantity.isPresent() && cQuantity.isPresent()) { if (pQuantity.isPresent() && cQuantity.isPresent()) {
coefficient = cQuantity.get() / pQuantity.get(); coefficient = cQuantity.get() / pQuantity.get();
} }
}else if(workOrders.size()==3){
//TODO;
}
int count = 0; int count = 0;
for (ProOrderWorkorder workOrder : workOrders) { for (ProOrderWorkorder workOrder : workOrders) {
@ -1184,6 +1185,8 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
batch.setUpdateBy(username); batch.setUpdateBy(username);
batch.setUpdateTime(nowDate); batch.setUpdateTime(nowDate);
if(proOrderWorkorderBatch.getNewBatchQuantity() != null){
Long newBatchQuantity = proOrderWorkorderBatch.getNewBatchQuantity();
if ("0".equals(workOrder.getParentOrder())) { if ("0".equals(workOrder.getParentOrder())) {
// 设置父工单数量 // 设置父工单数量
batch.setBatchQuantity(newBatchQuantity); batch.setBatchQuantity(newBatchQuantity);
@ -1191,6 +1194,7 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
// 设置子工单数量 // 设置子工单数量
batch.setBatchQuantity(newBatchQuantity * coefficient); batch.setBatchQuantity(newBatchQuantity * coefficient);
} }
}
count += proOrderWorkorderBatchMapper.insertProOrderWorkorderBatch(batch); count += proOrderWorkorderBatchMapper.insertProOrderWorkorderBatch(batch);
@ -1205,22 +1209,23 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
String username = SecurityUtils.getUsername(); String username = SecurityUtils.getUsername();
String batchCode = proOrderWorkorderBatch.getBatchCode(); String batchCode = proOrderWorkorderBatch.getBatchCode();
String newBatchCode = proOrderWorkorderBatch.getNewBatchCode(); String newBatchCode = proOrderWorkorderBatch.getNewBatchCode();
Long newBatchQuantity = proOrderWorkorderBatch.getNewBatchQuantity();
if (newBatchQuantity == null) {
return 0;
}
List<ProOrderWorkorder> workOrders = proOrderWorkorderMapper.selectWorkOrderIdByBatch(workOrderCode); List<ProOrderWorkorder> workOrders = proOrderWorkorderMapper.selectWorkOrderIdByBatch(workOrderCode);
// 系数
Long coefficient = 1L;
if(workOrders.size()==2){
// 获取子母工单数量 // 获取子母工单数量
Optional<Long> pQuantity = workOrders.stream().filter(item -> "0".equals(item.getParentOrder())) Optional<Long> pQuantity = workOrders.stream().filter(item -> "0".equals(item.getParentOrder()))
.findFirst().map(ProOrderWorkorder::getQuantitySplit); .findFirst().map(ProOrderWorkorder::getQuantitySplit);
Optional<Long> cQuantity = workOrders.stream().filter(item -> !"0".equals(item.getParentOrder())) Optional<Long> cQuantity = workOrders.stream().filter(item -> !"0".equals(item.getParentOrder()))
.findFirst().map(ProOrderWorkorder::getQuantitySplit); .findFirst().map(ProOrderWorkorder::getQuantitySplit);
// 系数
Long coefficient = 0L;
if (pQuantity.isPresent() && cQuantity.isPresent()) { if (pQuantity.isPresent() && cQuantity.isPresent()) {
coefficient = cQuantity.get() / pQuantity.get(); coefficient = cQuantity.get() / pQuantity.get();
} }
}else if(workOrders.size()==3){
//TODO;
}
int count = 0; int count = 0;
for (ProOrderWorkorder workOrder : workOrders) { for (ProOrderWorkorder workOrder : workOrders) {
@ -1236,6 +1241,11 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
batch.setUpdateBy(username); batch.setUpdateBy(username);
batch.setUpdateTime(DateUtils.getNowDate()); batch.setUpdateTime(DateUtils.getNowDate());
if(proOrderWorkorderBatch.getNewBatchQuantity() != null){
Long newBatchQuantity = proOrderWorkorderBatch.getNewBatchQuantity();
if (newBatchQuantity == null) {
return 0;
}
if ("0".equals(workOrder.getParentOrder())) { if ("0".equals(workOrder.getParentOrder())) {
// 设置父工单数量 // 设置父工单数量
batch.setNewBatchQuantity(newBatchQuantity); batch.setNewBatchQuantity(newBatchQuantity);
@ -1243,6 +1253,7 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
// 设置子工单数量 // 设置子工单数量
batch.setNewBatchQuantity(newBatchQuantity * coefficient); batch.setNewBatchQuantity(newBatchQuantity * coefficient);
} }
}
count += proOrderWorkorderBatchMapper.updateWorkorderBatch(batch); count += proOrderWorkorderBatchMapper.updateWorkorderBatch(batch);
} }

Loading…
Cancel
Save