feat: 一些优化
This commit is contained in:
parent
7309136378
commit
172ddbc444
|
|
@ -12,7 +12,6 @@ import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Lazy;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -92,13 +91,11 @@ public class SAPConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean(destroyMethod = "")
|
@Bean(destroyMethod = "")
|
||||||
@Lazy
|
|
||||||
public JCoDestination jcoDestination() throws JCoException {
|
public JCoDestination jcoDestination() throws JCoException {
|
||||||
return JCoDestinationManager.getDestination(ABAP_AS_POOLED);
|
return JCoDestinationManager.getDestination(ABAP_AS_POOLED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@Lazy
|
|
||||||
public JCoRepository getJCoRepository() throws JCoException {
|
public JCoRepository getJCoRepository() throws JCoException {
|
||||||
return jcoDestination().getRepository();
|
return jcoDestination().getRepository();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -301,11 +301,11 @@ public class OutAssistanceController extends BaseController {
|
||||||
});
|
});
|
||||||
outAssistanceItemService.updateBatchById(datas);
|
outAssistanceItemService.updateBatchById(datas);
|
||||||
outAssistanceTicketItemService.saveBatch(ticketItems);
|
outAssistanceTicketItemService.saveBatch(ticketItems);
|
||||||
|
outAssistanceTicketService.save(ticket);
|
||||||
if (!request.getNeedAudit()) {
|
if (!request.getNeedAudit()) {
|
||||||
//不需要审核
|
//不需要审核
|
||||||
submitSap(order, ticket, records, datas);
|
submitSap(order, ticket, records, datas);
|
||||||
} else {
|
} else {
|
||||||
outAssistanceTicketService.save(ticket);
|
|
||||||
inventoryForOutRepository.saveAll(request.getRecommendBatch()
|
inventoryForOutRepository.saveAll(request.getRecommendBatch()
|
||||||
.stream()
|
.stream()
|
||||||
.map(item -> {
|
.map(item -> {
|
||||||
|
|
@ -360,9 +360,11 @@ public class OutAssistanceController extends BaseController {
|
||||||
}).toList()
|
}).toList()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
ticket.setMatDoc(dto.getMatDoc());
|
outAssistanceTicketService.lambdaUpdate()
|
||||||
ticket.setDocYear(dto.getDocYear());
|
.set(WmsOutAssistanceTicket::getMatDoc, dto.getMatDoc())
|
||||||
outAssistanceTicketService.save(ticket);
|
.set(WmsOutAssistanceTicket::getDocYear, dto.getDocYear())
|
||||||
|
.eq(WmsOutAssistanceTicket::getId, ticket.getId())
|
||||||
|
.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -289,11 +289,11 @@ public class OutCostCenterController extends BaseController {
|
||||||
});
|
});
|
||||||
outCostcenterItemService.updateBatchById(datas);
|
outCostcenterItemService.updateBatchById(datas);
|
||||||
outCostcenterTicketItemService.saveBatch(ticketItems);
|
outCostcenterTicketItemService.saveBatch(ticketItems);
|
||||||
|
outCostcenterTicketService.save(ticket);
|
||||||
if (!request.getNeedAudit()) {
|
if (!request.getNeedAudit()) {
|
||||||
//不需要审核
|
//不需要审核
|
||||||
submitSap(order, ticket, records, datas);
|
submitSap(order, ticket, records, datas);
|
||||||
} else {
|
} else {
|
||||||
outCostcenterTicketService.save(ticket);
|
|
||||||
inventoryForOutRepository.saveAll(request.getRecommendBatch()
|
inventoryForOutRepository.saveAll(request.getRecommendBatch()
|
||||||
.stream()
|
.stream()
|
||||||
.map(item -> {
|
.map(item -> {
|
||||||
|
|
@ -347,9 +347,11 @@ public class OutCostCenterController extends BaseController {
|
||||||
}).toList()
|
}).toList()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
ticket.setMatDoc(vo.getEMblnr());
|
outCostcenterTicketService.lambdaUpdate()
|
||||||
ticket.setDocYear(vo.getEMJahr());
|
.set(WmsOutCostcenterTicket::getMatDoc, vo.getEMblnr())
|
||||||
outCostcenterTicketService.save(ticket);
|
.set(WmsOutCostcenterTicket::getDocYear, vo.getEMJahr())
|
||||||
|
.eq(WmsOutCostcenterTicket::getId, ticket.getId())
|
||||||
|
.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -418,11 +418,11 @@ public class OutProduceController extends BaseController {
|
||||||
});
|
});
|
||||||
outProduceItemService.updateBatchById(datas);
|
outProduceItemService.updateBatchById(datas);
|
||||||
outProduceTicketItemService.saveBatch(ticketItems);
|
outProduceTicketItemService.saveBatch(ticketItems);
|
||||||
|
outProduceTicketService.save(ticket);
|
||||||
if (!request.getNeedAudit()) {
|
if (!request.getNeedAudit()) {
|
||||||
//不需要审核
|
//不需要审核
|
||||||
submitSap(order, ticket, records, datas);
|
submitSap(order, ticket, records, datas);
|
||||||
} else {
|
} else {
|
||||||
outProduceTicketService.save(ticket);
|
|
||||||
inventoryForOutRepository.saveAll(request.getRecommendBatch()
|
inventoryForOutRepository.saveAll(request.getRecommendBatch()
|
||||||
.stream()
|
.stream()
|
||||||
.map(ifo -> {
|
.map(ifo -> {
|
||||||
|
|
@ -472,9 +472,11 @@ public class OutProduceController extends BaseController {
|
||||||
}).toList()
|
}).toList()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
ticket.setMatDoc(vo.getMat_doc());
|
outProduceTicketService.lambdaUpdate()
|
||||||
ticket.setDocYear(vo.getDocYear());
|
.set(WmsOutProduceTicket::getMatDoc, vo.getMat_doc())
|
||||||
outProduceTicketService.save(ticket);
|
.set(WmsOutProduceTicket::getDocYear, vo.getDocYear())
|
||||||
|
.eq(WmsOutProduceTicket::getId, ticket.getId())
|
||||||
|
.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -102,13 +102,16 @@ public class ScanRecordController extends BaseController {
|
||||||
dto.getItems().forEach(item -> {
|
dto.getItems().forEach(item -> {
|
||||||
OutDifferenceItemVO itemVO = new OutDifferenceItemVO()
|
OutDifferenceItemVO itemVO = new OutDifferenceItemVO()
|
||||||
.setRecommendbatchNo(item.getBatchNo())
|
.setRecommendbatchNo(item.getBatchNo())
|
||||||
|
.setRecommendSerialNo(item.getSerialNo())
|
||||||
.setRecommendNum(item.getNum());
|
.setRecommendNum(item.getNum());
|
||||||
List<OutMaterialScanRecord> mrecords = records.stream()
|
List<OutMaterialScanRecord> mrecords = records.stream()
|
||||||
.filter(r -> StrUtil.equals(r.getMaterialNo(), dto.getMaterialNo())
|
.filter(r -> StrUtil.equals(r.getMaterialNo(), dto.getMaterialNo())
|
||||||
&& StrUtil.equals(r.getBatchNo(), item.getBatchNo()))
|
&& StrUtil.equals(r.getBatchNo(), item.getBatchNo())
|
||||||
|
&& StrUtil.equals(r.getSerialNo(), item.getSerialNo()))
|
||||||
.toList();
|
.toList();
|
||||||
if (CollectionUtil.isNotEmpty(mrecords)) {
|
if (CollectionUtil.isNotEmpty(mrecords)) {
|
||||||
itemVO.setScanBatchNo(item.getBatchNo());
|
itemVO.setScanBatchNo(item.getBatchNo());
|
||||||
|
itemVO.setScanSerialNo(item.getSerialNo());
|
||||||
itemVO.setScanNum(mrecords.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add));
|
itemVO.setScanNum(mrecords.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add));
|
||||||
records.removeAll(mrecords);
|
records.removeAll(mrecords);
|
||||||
}
|
}
|
||||||
|
|
@ -120,18 +123,18 @@ public class ScanRecordController extends BaseController {
|
||||||
records.stream()
|
records.stream()
|
||||||
.collect(Collectors.groupingBy(OutMaterialScanRecord::getMaterialNo))
|
.collect(Collectors.groupingBy(OutMaterialScanRecord::getMaterialNo))
|
||||||
.forEach((k, v) -> {
|
.forEach((k, v) -> {
|
||||||
OutDifferenceVO vo = new OutDifferenceVO()
|
OutDifferenceVO vo = vos.stream().filter(it -> StrUtil.equals(it.getMaterialNo(), k)).findFirst().get();
|
||||||
.setMaterialNo(k);
|
|
||||||
v.stream()
|
v.stream()
|
||||||
.collect(Collectors.groupingBy(OutMaterialScanRecord::getBatchNo))
|
.collect(Collectors.groupingBy(OutMaterialScanRecord::getKey8))
|
||||||
.forEach((batchNo, vv) -> {
|
.forEach((key, vv) -> {
|
||||||
vo.getItems().add(new OutDifferenceItemVO()
|
vo.getItems().add(new OutDifferenceItemVO()
|
||||||
.setRecommendbatchNo("")
|
.setRecommendbatchNo("")
|
||||||
|
.setRecommendSerialNo("")
|
||||||
.setRecommendNum(BigDecimal.ZERO)
|
.setRecommendNum(BigDecimal.ZERO)
|
||||||
.setScanBatchNo(batchNo)
|
.setScanBatchNo(StrUtil.split(key, "|").get(1))
|
||||||
|
.setScanSerialNo(StrUtil.split(key, "|").get(2))
|
||||||
.setScanNum(vv.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)));
|
.setScanNum(vv.stream().map(OutMaterialScanRecord::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)));
|
||||||
});
|
});
|
||||||
vos.add(vo);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return ApiResult.success(vos);
|
return ApiResult.success(vos);
|
||||||
|
|
|
||||||
|
|
@ -339,11 +339,11 @@ public class TransferCompanyController extends BaseController {
|
||||||
.eq(WmsTransferCompany::getId, order.getId())
|
.eq(WmsTransferCompany::getId, order.getId())
|
||||||
.update();
|
.update();
|
||||||
transferCompanyTicketItemService.saveBatch(ticketItems);
|
transferCompanyTicketItemService.saveBatch(ticketItems);
|
||||||
|
transferCompanyTicketService.save(ticket);
|
||||||
if (!request.getNeedAudit()) {
|
if (!request.getNeedAudit()) {
|
||||||
//不需要审核
|
//不需要审核
|
||||||
submitSap(order, ticket, records, datas, ticketItems);
|
submitSap(order, ticket, records, datas, ticketItems);
|
||||||
} else {
|
} else {
|
||||||
transferCompanyTicketService.save(ticket);
|
|
||||||
inventoryForOutRepository.saveAll(request.getRecommendBatch()
|
inventoryForOutRepository.saveAll(request.getRecommendBatch()
|
||||||
.stream()
|
.stream()
|
||||||
.map(item -> {
|
.map(item -> {
|
||||||
|
|
@ -399,9 +399,11 @@ public class TransferCompanyController extends BaseController {
|
||||||
).toList()
|
).toList()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
ticket.setDocYear(vo.getMjahr());
|
transferCompanyTicketService.lambdaUpdate()
|
||||||
ticket.setMatDoc(vo.getMblnr());
|
.set(WmsTransferCompanyTicket::getMatDoc, vo.getMblnr())
|
||||||
transferCompanyTicketService.save(ticket);
|
.set(WmsTransferCompanyTicket::getDocYear, vo.getMjahr())
|
||||||
|
.eq(WmsTransferCompanyTicket::getId, ticket.getId())
|
||||||
|
.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,6 @@ import com.nflg.wms.common.util.VUtil;
|
||||||
import com.sap.conn.jco.*;
|
import com.sap.conn.jco.*;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.context.annotation.Lazy;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
@ -33,11 +32,9 @@ import java.util.stream.Collectors;
|
||||||
public class SapService {
|
public class SapService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
@Lazy
|
|
||||||
private JCoDestination destination;
|
private JCoDestination destination;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
@Lazy
|
|
||||||
private JCoRepository repository;
|
private JCoRepository repository;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -164,4 +164,11 @@ public class OutMaterialScanRecord {
|
||||||
public String getKey7() {
|
public String getKey7() {
|
||||||
return materialNo + "|" + batchNo;
|
return materialNo + "|" + batchNo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private String key8;
|
||||||
|
|
||||||
|
public String getKey8() {
|
||||||
|
return materialNo + "|" + batchNo + "|" + this.serialNo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,11 @@ public class OutDifferenceItemVO {
|
||||||
*/
|
*/
|
||||||
private String recommendbatchNo;
|
private String recommendbatchNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 推荐序列号
|
||||||
|
*/
|
||||||
|
private String recommendSerialNo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推荐数量
|
* 推荐数量
|
||||||
*/
|
*/
|
||||||
|
|
@ -24,6 +29,11 @@ public class OutDifferenceItemVO {
|
||||||
*/
|
*/
|
||||||
private String scanBatchNo;
|
private String scanBatchNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 扫码序列号
|
||||||
|
*/
|
||||||
|
private String scanSerialNo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 扫码数量
|
* 扫码数量
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -60,14 +60,14 @@ public class WmsInventoryServiceImpl extends ServiceImpl<WmsInventoryMapper, Wms
|
||||||
} else {
|
} else {
|
||||||
BigDecimal left = inventory.getNum();
|
BigDecimal left = inventory.getNum();
|
||||||
for (WmsInventory info : list) {
|
for (WmsInventory info : list) {
|
||||||
if (left.compareTo(info.getNum()) <= 0) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
BigDecimal sub = NumberUtil.min(info.getNum(), left);
|
BigDecimal sub = NumberUtil.min(info.getNum(), left);
|
||||||
left = left.subtract(sub);
|
left = left.subtract(sub);
|
||||||
info.setNum(info.getNum().subtract(sub));
|
info.setNum(info.getNum().subtract(sub));
|
||||||
info.setUpdateBy(UserUtil.getUserName());
|
info.setUpdateBy(UserUtil.getUserName());
|
||||||
info.setUpdateTime(LocalDateTime.now());
|
info.setUpdateTime(LocalDateTime.now());
|
||||||
|
if (left.compareTo(BigDecimal.ZERO) <= 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (left.compareTo(BigDecimal.ZERO) > 0) {
|
if (left.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
errorMaterialNos.add(inventory.getMaterialNo());
|
errorMaterialNos.add(inventory.getMaterialNo());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue