|
|
|
@ -22,7 +22,10 @@ import com.glxp.sale.admin.res.inout.ErpOrderResponse;
|
|
|
|
|
import com.glxp.sale.admin.res.inout.StockOrderResponse;
|
|
|
|
|
import com.glxp.sale.admin.service.auth.AuthAdminService;
|
|
|
|
|
import com.glxp.sale.admin.service.auth.CustomerService;
|
|
|
|
|
import com.glxp.sale.admin.service.basic.*;
|
|
|
|
|
import com.glxp.sale.admin.service.basic.BasicUnitMaintainService;
|
|
|
|
|
import com.glxp.sale.admin.service.basic.BussinessLocalTypeService;
|
|
|
|
|
import com.glxp.sale.admin.service.basic.BussinessTypeService;
|
|
|
|
|
import com.glxp.sale.admin.service.basic.UdiRelevanceService;
|
|
|
|
|
import com.glxp.sale.admin.service.info.CompanyService;
|
|
|
|
|
import com.glxp.sale.admin.service.inout.*;
|
|
|
|
|
import com.glxp.sale.admin.service.inventory.InvStockPrintService;
|
|
|
|
@ -388,6 +391,8 @@ public class StockOrderController {
|
|
|
|
|
|
|
|
|
|
StockOrderEntity stockOrderEntity = stockOrderService.findById(addStockOrderChangeRequest.getStockOrderId());
|
|
|
|
|
OrderEntity originOrder = orderService.findById(stockOrderEntity.getOrderIdFk());
|
|
|
|
|
String oldOrderId = originOrder.getId();
|
|
|
|
|
String replicateNo = originOrder.getReplicateNo(); //复制单号
|
|
|
|
|
List<WarehouseEntity> originCodes = codesService.findByReceiptId(originOrder.getId());
|
|
|
|
|
originOrder.setActDate(DateUtil.formatDate(new Date()));
|
|
|
|
|
originOrder.setFromCorp(addStockOrderChangeRequest.getFromCorp());
|
|
|
|
@ -399,33 +404,49 @@ public class StockOrderController {
|
|
|
|
|
originOrder.setContrastStatus(0);//设置erp校验状态为未校验
|
|
|
|
|
originOrder.setReceiveStatus(0); //设置验收状态为未验收
|
|
|
|
|
originOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
|
|
|
|
|
originOrder.setErpFk(null);//关联业务单据置空
|
|
|
|
|
originOrder.setLocStorageCode(addStockOrderChangeRequest.getLocStorageCode());
|
|
|
|
|
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(originOrder.getAction());
|
|
|
|
|
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
|
|
|
|
|
String supplementOrderNo = orderNo;
|
|
|
|
|
if (StrUtil.isBlank(replicateNo)) {
|
|
|
|
|
replicateNo = supplementOrderNo; //此单据第一条复制单号
|
|
|
|
|
} else {
|
|
|
|
|
replicateNo = replicateNo + "," + supplementOrderNo; //复制单号拼接上新的单号
|
|
|
|
|
}
|
|
|
|
|
originOrder.setId(supplementOrderNo);
|
|
|
|
|
originOrder.setReplicateNo(null); //新单据的复制单号置空
|
|
|
|
|
|
|
|
|
|
List<WarehouseEntity> supplementCodes = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
List<WarehouseEntity> products = addStockOrderChangeRequest.getProducts();
|
|
|
|
|
originCodes.forEach(
|
|
|
|
|
code -> {
|
|
|
|
|
WarehouseEntity supplementCode = new WarehouseEntity();
|
|
|
|
|
BeanUtil.copyProperties(code, supplementCode);
|
|
|
|
|
supplementCode.setFromCorpId(originOrder.getFromCorpId());
|
|
|
|
|
supplementCode.setFromCorp(originOrder.getFromCorp());
|
|
|
|
|
supplementCode.setLocStorageCode(originOrder.getLocStorageCode());
|
|
|
|
|
supplementCode.setOrderId(supplementOrderNo);
|
|
|
|
|
//查询补单设置
|
|
|
|
|
supplementCode.setAction(originOrder.getAction());
|
|
|
|
|
supplementCode.setMainAction(originOrder.getMainAction());
|
|
|
|
|
supplementCode.setId(null);
|
|
|
|
|
supplementCodes.add(supplementCode);
|
|
|
|
|
|
|
|
|
|
//复制选中的产品
|
|
|
|
|
for (WarehouseEntity product : products) {
|
|
|
|
|
if (product.getRelId().equals(code.getRelId())) {
|
|
|
|
|
if ((StrUtil.isNotBlank(product.getBatchNo()) && StrUtil.isNotBlank(code.getBatchNo()) && product.getBatchNo().equals(code.getBatchNo()))
|
|
|
|
|
|| (StrUtil.isBlank(product.getBatchNo()) && StrUtil.isBlank(code.getBatchNo()))) {
|
|
|
|
|
WarehouseEntity supplementCode = new WarehouseEntity();
|
|
|
|
|
BeanUtil.copyProperties(code, supplementCode);
|
|
|
|
|
supplementCode.setFromCorpId(originOrder.getFromCorpId());
|
|
|
|
|
supplementCode.setFromCorp(originOrder.getFromCorp());
|
|
|
|
|
supplementCode.setLocStorageCode(originOrder.getLocStorageCode());
|
|
|
|
|
supplementCode.setOrderId(supplementOrderNo);
|
|
|
|
|
//查询补单设置
|
|
|
|
|
supplementCode.setAction(originOrder.getAction());
|
|
|
|
|
supplementCode.setMainAction(originOrder.getMainAction());
|
|
|
|
|
supplementCode.setId(null);
|
|
|
|
|
supplementCodes.add(supplementCode);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
originOrder.setUpdateTime(new Date());
|
|
|
|
|
orderService.insertOrder(originOrder);
|
|
|
|
|
codesTempService.insertCodesTemp(supplementCodes);
|
|
|
|
|
|
|
|
|
|
orderService.updateReplicateNo(oldOrderId, replicateNo);
|
|
|
|
|
return ResultVOUtils.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|