|
@@ -1491,6 +1491,16 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
SalesOrder so = salesOrderMapper.getSalesOrderById(salesOrder.getSalesId());SalesOrderItem salesOrderItem = new SalesOrderItem();
|
|
|
salesOrderItem.setItemOrderId(so.getSalesId());
|
|
|
List<SalesOrderItem> listOrderitem = salesOrderService.listSalesOrderItem(salesOrderItem);
|
|
|
+ // 查询维修编号,并根据维修编号对应的处理结果判断是否从不良品中出库
|
|
|
+ List<ComplaintDetectInfo> listDetect = complaintDetectInfoMapper.listComplaintDetectBySalesId(so.getSalesOrderId());
|
|
|
+ boolean isDefectiveProduct = false;
|
|
|
+ if (listDetect != null && !listDetect.isEmpty()) {
|
|
|
+ int result = listDetect.get(0).getState();
|
|
|
+ if (result == 32 || result == 36 || result == 37) {
|
|
|
+ // 凡是(付费维修-维修完成)、(免费维修-维修完成)、(机器无故障,原机退回)都走不良品
|
|
|
+ isDefectiveProduct = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
if(salesOrder.getSalesDeliver() == 2){
|
|
|
// 标记出库,修改库存
|
|
|
// 如果已出库则返还库存
|
|
@@ -1503,7 +1513,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
//类型1.采购 2.发货 3.次品
|
|
|
inventoryInfo2.setLogType(2);
|
|
|
//产品质量类型 1良品 2 不良品
|
|
|
- inventoryInfo2.setQualityType(1);
|
|
|
+ if (isDefectiveProduct) {
|
|
|
+ inventoryInfo2.setQualityType(2);
|
|
|
+ } else {
|
|
|
+ inventoryInfo2.setQualityType(1);
|
|
|
+ }
|
|
|
inventoryInfo2.setInventoryRecentRecord("出库-订单号:"+ so.getSalesDealCode());
|
|
|
inventoryService.minusInventory(inventoryInfo2);
|
|
|
}
|