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